如何爲表中的所有行重複另一個表中的所有組?如何爲表中的所有組重複其他表中的所有行?
回答
試試這個,
SELECT d.*, dp.dept, u.users_created
FROM dbo.dates d
CROSS APPLY (SELECT DISTINCT dept FROM dbo.users) as dp
OUTER APPLY (SELECT COUNT(*) users_created
FROM dbo.users u
WHERE u.dept = dp.dept
AND u.created_at >= d.month_start
AND u.created_at < d.next_month_start
) as u
從指定的日期做一個簡單的SELECT COUNT?
SELECT month_start, next_month_start, sum(cnt) as users, dept FROM
(SELECT CASE WHEN created_at<=next_month_start AND created_at>=month_start THEN 1 ELSE 0 END as cnt,
users.*, month_start, next_month_start FROM users
CROSS JOIN dates) as S1
GROUP BY dept, month_start, next_month_start ORDER BY dept DESC
SELECT D.id dates_id,D.month_start dates_start,D.next_month_start dates_next_month_start,count(U.id) user_created,U.dept
FROM dates D
LEFT JOIN users U ON concat(year(U.created_at) ,"-",month(U.created_at)) = concat(year(D.month_start) ,"-",month(D.month_start))
GROUP BY concat(year(D.month_start) ,"-",month(D.month_start)) ,concat(year(D.next_month_start) ,"-",month(D.next_month_start)) ;
以下是出把
id month_start next_month_start user_created dept
7 February, 01 2016 00:00:00 March, 01 2016 00:00:00 0 (null)
6 March, 01 2016 00:00:00 April, 01 2016 00:00:00 2 sales
5 April, 01 2016 00:00:00 May, 01 2016 00:00:00 3 sales
4 May, 01 2016 00:00:00 June, 01 2016 00:00:00 0 (null)
3 June, 01 2016 00:00:00 July, 01 2016 00:00:00 2 hr
2 July, 01 2016 00:00:00 August, 01 2016 00:00:00 0 (null)
1 August, 01 2016 00:00:00 September, 01 2016 00:00:00 0 (null)
這與我所需要的不一樣。請注意,我需要重複'用戶'表中每個部門的整個'日期'表。在我的問題中查看ascii表。這就是我想要的。 – user130268
你還使用SQL Server作爲數據庫嗎?嘗試執行時出現語法錯誤。看起來「_」在SQL Server中無效。 – user130268
我在這裏使用http://sqlfiddle.com/#!9/fd212/7 – Athar
您是否需要這樣的事?
SELECT sum(cnt), month_start, next_month_start, dept
FROM
(
SELECT
CASE WHEN created_at<=next_month_start AND created_at>=month_start THEN 1 ELSE 0 END cnt,
users.*, month_start, next_month_start
FROM users
CROSS JOIN dates
) sbt
GROUP BY month_start, next_month_start, dept
- 1. 查找所有重複表中的行
- 2. 如何獲取表中包含其他行的所有行
- 3. Oracle:爲什麼我的所有表中的所有行都重複?
- 4. 從表格中選擇其他行中所有列的行
- 5. 如何修剪所有類型爲string的表中所有行的所有列?
- 6. 如何查看所有行中的所有重複項?
- 7. 如何顯示2個表中的所有重複行?
- 8. 從excel中的其他表中查找所有行
- 9. 列出MySQL表中具有重複條目的所有行
- 10. 如何從表中選擇所有出現的所有重複行與所有列?
- 11. 複製表中的所有行和防止重複鍵
- 12. 查詢表中與ORMLITE其他表中其他項無關的所有項目
- 13. 複製到所有其他
- 14. RedBean:如何刪除所有表中的所有行
- 15. 如何刪除範圍內的所有其他重複Google Spreadsheets
- 16. 選擇從表中的所有值只有一次,如果他們重複
- 17. 刪除行時如何刪除其他表中的所有關聯行? LARAVEL 5.4
- 18. 如何從一個表中不存在其他表中的所有值
- 19. 獲取其他表中沒有記錄的所有對象
- 20. 沒有重複元素的列表元素的所有組合
- 21. 如何刪除表格中的所有重複記錄?
- 22. 返回表中cat_id不能在其他表中找到的所有行
- 23. 刪除VBA中的所有重複行
- 24. 如何將所有數據連續複製到所有其他行
- 25. 從一個重複的數據表中刪除所有行
- 26. MySQL查詢預填充連接表與所有其他兩個表中的所有id組合
- 27. 如何將menuitems的所有其他組件放在java中?
- 28. 如何從其他表中找到所有對特定行的引用?
- 29. SQL第二張表中所有行旁邊的一個表中的所有行
- 30. 獲取從列表中的所有組合,有和沒有重複
我不知道該怎麼做。你能幫忙編寫一個查詢來生成我的問題的結果嗎? – user130268
對不起,添加了查詢。適用於我。 –