我正在尝试创建一个查询,在该查询中我想将我的行转换为具有panel_name
GROUP BY行的列,并按单个日期的最后created_at
条进行排列。我的数据以列格式显示,但未显示特定日期。我尝试了多个查询,但没有对结果进行游戏。这是我的表结构的样子。
+--------------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+------------------+------+-----+---------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| panel_name | varchar(191) | YES | | NULL | |
| panel_number | varchar(191) | YES | | NULL | |
| display_from | date | YES | | NULL | |
| open_time | varchar(191) | YES | | NULL | |
| close_time | varchar(191) | YES | | NULL | |
| created_at | timestamp | YES | | NULL | |
| updated_at | timestamp | YES | | NULL | |
| deleted_at | timestamp | YES | | NULL | |
+--------------+------------------+------+-----+---------+----------------+
这是我当前数据的样子:
+-----+-------------------+--------------+--------------+-----------+------------+---------------------+---------------------+---------------------+
| id | panel_name | panel_number | display_from | open_time | close_time | created_at | updated_at | deleted_at |
+-----+-------------------+--------------+--------------+-----------+------------+---------------------+---------------------+---------------------+
| 447 | TARA MUMBAI DAY | 123-1*-*** | NULL | NULL | NULL | 2019-11-13 10:31:27 | 2019-11-13 10:31:27 | NULL |
| 446 | TIME | 123-**-*** | NULL | NULL | NULL | 2019-11-13 10:22:15 | 2019-11-13 10:22:15 | NULL |
| 445 | TIME | ***-**-*** | NULL | NULL | NULL | 2019-11-11 18:00:01 | 2019-11-11 18:33:29 | 2019-11-11 18:33:29 |
| 444 | TIME | ***-**-*** | NULL | NULL | NULL | 2019-11-11 17:59:58 | 2019-11-11 18:33:32 | 2019-11-11 18:33:32 |
| 443 | TARA MUMBAI DAY | 128-74-446 | NULL | NULL | NULL | 2019-11-11 17:51:50 | 2019-11-11 17:51:50 | NULL |
| 442 | TARA MUMBAI DAY | 128-74-446 | NULL | NULL | NULL | 2019-11-11 17:51:30 | 2019-11-11 17:51:30 | NULL |
| 441 | TARA MUMBAI DAY | 128-74-446 | NULL | NULL | NULL | 2019-11-11 17:51:15 | 2019-11-11 17:51:15 | NULL |
| 440 | TARA MUMBAI DAY | 128-74-446 | NULL | NULL | NULL | 2019-11-11 17:50:40 | 2019-11-11 17:50:40 | NULL |
| 439 | TARA MUMBAI DAY | 128-74-*** | NULL | NULL | NULL | 2019-11-11 17:49:17 | 2019-11-11 17:49:17 | NULL |
| 438 | TARA MUMBAI DAY | 128-7-*** | NULL | NULL | NULL | 2019-11-11 17:48:03 | 2019-11-11 17:48:03 | NULL |
| 437 | TARA MUMBAI DAY | 128-7*-*** | NULL | NULL | NULL | 2019-11-11 17:46:22 | 2019-11-11 17:46:22 | NULL |
| 436 | TARA MUMBAI DAY | 128-**-*** | NULL | NULL | NULL | 2019-11-11 17:45:11 | 2019-11-11 17:45:11 | NULL |
| 435 | TIME | 1**-**-*** | NULL | NULL | NULL | 2019-11-11 17:44:43 | 2019-11-11 17:44:43 | NULL |
| 434 | TIME | 1**-**-*** | NULL | NULL | NULL | 2019-11-11 17:43:24 | 2019-11-11 17:43:24 | NULL |
| 433 | TIME | 1**-**-*** | NULL | NULL | NULL | 2019-11-11 17:43:11 | 2019-11-11 17:43:11 | NULL |
| 432 | TARA MUMBAI NIGHT | 700-74-789 | NULL | NULL | NULL | 2019-11-11 17:41:53 | 2019-11-11 17:41:53 | NULL |
| 431 | TARA MUMBAI DAY | 700-74-789 | NULL | NULL | NULL | 2019-11-11 17:41:36 | 2019-11-11 17:41:36 | NULL |
| 430 | MILAN DAY | 700-74-789 | NULL | NULL | NULL | 2019-11-11 17:41:09 | 2019-11-11 17:41:09 | NULL |
| 429 | MILAN DAY | 700-74-789 | NULL | NULL | NULL | 2019-11-11 17:40:52 | 2019-11-11 17:40:52 | NULL |
| 428 | MILAN DAY | 700-74-789 | NULL | NULL | NULL | 2019-11-11 17:40:35 | 2019-11-11 17:40:35 | NULL |
| 427 | MILAN DAY | 700-74-789 | NULL | NULL | NULL | 2019-11-11 17:40:20 | 2019-11-11 17:40:20 | NULL |
| 426 | MILAN DAY | 700-74-789 | NULL | NULL | NULL | 2019-11-11 17:39:06 | 2019-11-11 17:39:06 | NULL |
| 425 | MILAN DAY | 700-74-789 | NULL | NULL | NULL | 2019-11-11 17:38:58 | 2019-11-11 17:38:58 | NULL |
| 424 | MILAN DAY | 700-7*-*** | NULL | NULL | NULL | 2019-11-11 17:34:43 | 2019-11-11 17:34:43 | NULL |
| 423 | MILAN DAY | 700-7*-*** | NULL | NULL | NULL | 2019-11-11 17:34:20 | 2019-11-11 17:34:20 | NULL |
| 422 | MILAN DAY | 700-7*-*** | NULL | NULL | NULL | 2019-11-11 17:33:56 | 2019-11-11 17:33:56 | NULL |
| 421 | TARA MUMBAI DAY | 477-80-244 | NULL | NULL | NULL | 2019-11-11 17:23:18 | 2019-11-11 17:23:18 | NULL |
| 420 | TARA MUMBAI DAY | 477-80-244 | NULL | NULL | NULL | 2019-11-11 17:22:56 | 2019-11-11 17:25:47 | 2019-11-11 17:25:47 |
| 419 | TARA MUMBAI DAY | 477-80-244 | NULL | NULL | NULL | 2019-11-11 17:22:45 | 2019-11-11 17:25:44 | 2019-11-11 17:25:44 |
| 418 | TARA MUMBAI DAY | 477-80-*** | NULL | NULL | NULL | 2019-11-11 17:19:25 | 2019-11-11 17:19:25 | NULL |
+-----+-------------------+--------------+--------------+-----------+------------+---------------------+---------------------+---------------------+
这就是我要如何查看结果
+--+-------------------+------------+-----------+-------------------+------------+
| | TARA MUMBAI DAY | TIME | MILAN DAY | TARA MUMBAI NIGHT | created_at |
+--+-------------------+------------+-----------+-------------------+------------+
123-1*-*** 123-**-*** NULL NULL 2019-11-13
128-74-446 1**-**-*** 700-74-789 700-74-789 2019-11-11
因此,这是到目前为止我已经尝试了多少,但剂量似乎表明了我想要的结果。
SELECT
max(r0.id),r1.panel_name AS "TIME",r2.panel_name AS "TARA MUMBAI DAY",r3.panel_name AS "MILAN DAY",r4.panel_name AS "TARA MUMBAI NIGHT",r0.Dateonly
FROM
(SELECT
id,panel_name,panel_number,DATE(created_at) as Dateonly
FROM
foduu_potresult
) r0
LEFT JOIN foduu_potresult r1
ON r1.id = r0.id AND r1.panel_name = 'TIME'
LEFT JOIN foduu_potresult r2
ON r2.id = r0.id AND r2.panel_name = 'TARA MUMBAI DAY'
LEFT JOIN foduu_potresult r3
ON r3.id = r0.id AND r3.panel_name = 'MILAN DAY'
LEFT JOIN foduu_potresult r4
ON r4.id = r0.id AND r4.panel_name = 'TARA MUMBAI NIGHT'
GROUP BY
r0.Dateonly
ORDER BY
r0.id DESC
对这种查询有什么建议吗?我如何显示适当的结果。