sql >> Database teknologi >  >> RDS >> Mysql

Vis værdier af datetime til forskellige rækker i en DataGridView

Du kan bruge en forespørgsel som denne:

SELECT empID, emp_day, MAX(am_in1) as am_in, MAX(am_out1) as am_out, MAX(pm_in1) as pm_in, MAX(pm_out1) as pm_out
FROM (
SELECT empID, DATE_FORMAT(`time_stamp`,'%e') as emp_day,
CASE WHEN am_pm='am' AND in_out='in' THEN DATE_FORMAT(`time_stamp`,'%T') ELSE '' END as am_in1,
CASE WHEN am_pm='am' AND in_out='out' THEN DATE_FORMAT(`time_stamp`,'%T') ELSE '' END as am_out1,
CASE WHEN am_pm='pm' AND in_out='in' THEN DATE_FORMAT(`time_stamp`,'%T') ELSE '' END as pm_in1,
CASE WHEN am_pm='pm' AND in_out='out' THEN DATE_FORMAT(`time_stamp`,'%T') ELSE '' END as pm_out1
FROM attendance
) as o
GROUP BY empID, emp_day

Underforespørgslen formaterer de ønskede kolonner og hovedforespørgselsgrupperne for at få én række pr. medarbejder pr. dag.

EDIT:her er en violin




  1. Partitionering af en databasetabel i MySQL

  2. mysql-forespørgsel for at vælge alt undtagen noget

  3. post omdøbt filnavn fra upload til database

  4. Sådan opdaterer du flere kolonner i mysql ved hjælp af php