簡體   English   中英

SQL:按日期排序,僅給出月份和年份-完整組

[英]SQL: Order by date, only month and year given - Full Group on

我有一個SQL數據庫,它設置為完全組模式。 我的目標是獲取每個月的行數(ID)。 這就是為什么我說“ Group By Datum 由於具有完整的組模式,因此我不能簡單地說Order By created_at 因為我只選擇了%m.%Y 所以我只能使用Datum來計算我的月份和年份。

我已經嘗試連接那些值,例如CONCAT('DATE_FORMAT(created_at, '%Y-%m'), "-01 00:00:00")但這也無法正常工作,即使我將其變成UNIX時間戳不起作用: UNIX_TIMESTAMP(CONCAT('DATE_FORMAT(created_at, '%Y-%m'), "-01 00:00:00"))

我什至嘗試了以下方法: Order By Year(DATE_FORMAT(created_at, '%Y')), Month DATE_FORMAT(created_at, '%m')但它也不起作用...

如何在不更改Select值的情況下按月和年對結果進行排序? Sofar這是我實際的SQL查詢。 自1個小時以來,我幾乎都在嘗試尋找解決方案...

SELECT COUNT(ID) AS Anzahl, DATE_FORMAT(created_at, '%m.%Y') AS Datum FROM leads WHERE created_at >= '2015-01-01' AND created_at <= '2018-01-01' AND shopID = 4184 GROUP BY Datum ORDER BY UNIX_TIMESTAMP(STR_TO_DATE(Datum, '%Y-%m-01 00:00:00'))

我將不勝感激! 不,我不能更改Select值或關閉full_group_mode

ORDER BY DATE_FORMAT(created_at,'%Y'),date_format(created_at,'%M')desc

這將按升序排列,然后按降序排列。

看看這個SQL Fiddle ,看看使用MySql 5.6的查詢

以下內容將按照年份然后是月份的升序排列:

order by substring(datum,4,4), substring(datum,1,2)

sqlfiddle: http ://sqlfiddle.com/#!9/16fab4/3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM