我有一張包含所有約會資訊的表格
| id_任命 | id_doc | app_date(d/m/y) |
|---|---|---|
| 17 | 201 | 22 年 10 月 30 日 |
| 16 | 202 | 20/10/22 |
| 15 | 203 | 19/10/22 |
| 14 | 204 | 18/10/22 |
| 13 | 201 | 22 年 9 月 30 日 |
| 12 | 202 | 20/09/22 |
| 11 | 203 | 22 年 8 月 19 日 |
| 10 | 204 | 22 年 7 月 18 日 |
我想要得到的是每個醫生預約的第二高日期,例如 這是我想要創建的表(我沒有這個表) (我正在嘗試使用 zoho 分析來介紹這個查詢)
| id_任命 | id_doc | app_date |
|---|---|---|
| 13 | 201 | 22 年 9 月 30 日 |
| 12 | 202 | 20/09/22 |
| 11 | 203 | 22 年 8 月 19 日 |
| 10 | 204 | 22 年 7 月 18 日 |
這不起作用,因為它只排除了整個表的最高日期
SELECT id_doc, MAX( app_date )
FROM table1
GROUP BY id_doc
WHERE col < ( SELECT MAX( app_date )
FROM table1 )
uj5u.com熱心網友回復:
您需要使用子句使子查詢與主查詢相關聯WHERE。并GROUP BY在最后。
SELECT id_doc, MAX( app_date )
FROM table1 AS t1
WHERE col < (SELECT MAX( app_date )
FROM table1 AS t2
WHERE t2.id_doc = t1.id_doc)
GROUP BY id_doc
或者加入子查詢。
SELECT t1.id_doc, MAX(t1.app_date)
FROM table1 AS t1
JOIN (
SELECT id_doc, MAX(app_date) AS maxdate
FROM table1
GROUP BY id_doc
) AS t2 ON t1.id_doc = t2.id_doc AND t1.app_date < t2.app_date
GROUP BY t1.id_doc
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/524152.html
標籤:mysqlsql句法佐霍
上一篇:將位元組寫入特定偏移量的檔案
