[英]MYSQL: Finding out last record from multiple records each having same value for a particular column
誰能幫我MySql數據庫查詢:
我有一張下面的數據表:
work_date ticket no category
------------------------------------
7/15/2013 111 a
7/15/2013 222 b
7/15/2013 333 c
7/16/2013 111 a
7/16/2013 555 e
7/16/2013 333 f
7/17/2013 111 H
我在編寫查詢時將需要幫助,該查詢將讀取所有表數據,然后創建2列,第一個票證為否,第二個列為類別。 在票證列下,它將顯示所有不同票證編號的計數,並且類別下的值應該是分配給該票證的最后一個類別。
我正在使用以下查詢
SELECT category, count(distinct(ticket_no))
FROM master
group by category
order by 2 DESC`
出現在2個或更多類別中的票被多次計數,我希望它只被計數一次,而最新的一張
預期結果:
Ticket No Category
--------------------
111 H
222 b
333 f
555 e
我沒有您的示例查詢。 它是按category
而不是ticket
分組的,但是樣本數據是按ticket
分組的。
無論如何,我認為這可以滿足您的需求:
select ticket,
substring_index(group_concat(category order by work_date desc), ',', 1)
from master m
group by ticket;
您可以使用以下SQL查詢:
SELECT DISTINCT(ticket_no), category FROM table_name SORT BY DESC;
select * from
(select ticket_no,category from master order by work_date desc) abc
group by ticket_no;
SELECT *
FROM distinct t1
WHERE NOT EXISTS (
SELECT *
FROM distinct t2
WHERE t2.ticket_no= t1.ticket_no
AND t2.work_date > t1.work_date
);
這里work_date應該是格式化的時間戳
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.