avg metodu
Örnek ver
count metodu
Örnek
Pivot yapmak istersek şöyle yaparız.
3 tabloyu aynı anda saymak istersek şöyle yaparız.
Elimizde şöyle bir tablo olsun
group_concat
Sütunları için teker teker kullanmak mantıklı şöyle yaparız. null değerleri dikkate almaz.
Örnek
Şöyle yaparız.
Örnek ver
min metodu
Örnek ver
sum metodu
Sum genelde group by ile beraber kullanılır.
Örnek
Elimizde şöyle bir tablo olsun.
Örnek ver
count metodu
Örnek
Pivot yapmak istersek şöyle yaparız.
SELECT
( SELECT COUNT(*) FROM tbl1
WHERE time BETWEEN '2018-03-07 18:32:55'
AND '2018-03-07 20:46:55' ) AS a
( SELECT COUNT(*) FROM tbl2
WHERE time BETWEEN '2018-03-07 18:32:55'
AND '2018-03-07 20:46:55' ) AS b
( SELECT COUNT(*) FROM tbl3
WHERE time BETWEEN '2018-03-07 18:32:55'
AND '2018-03-07 20:46:55' ) AS c
;
Çıktı olarak şunu alırız.a b c
10 3 14
Örnek3 tabloyu aynı anda saymak istersek şöyle yaparız.
SELECT 'a'
, COUNT(a.time)
FROM
tbl1 AS a
WHERE
a.time BETWEEN '2018-03-07 18:32:55' AND '2018-03-07 20:46:55'
UNION ALL
SELECT 'b'
, COUNT(b.time)
FROM
tbl2 AS b
WHERE
b.time BETWEEN '2018-03-07 18:32:55' AND '2018-03-07 20:46:55'
UNION ALL
SELECT 'c'
, COUNT(c.time)
FROM
tbl3 AS c
WHERE
c.time BETWEEN '2018-03-07 18:32:55' AND '2018-03-07 20:46:55'
Çıktı olarak şunu alırız.╔══════╦══════╗ ║ col1 ║ col2 ║ ╠══════╬══════╣ ║ a ║ 10 ║ ║ b ║ 3 ║ ║ c ║ 14 ║ ╚══════╩══════╝Örnek
Elimizde şöyle bir tablo olsun
user_id item_id
1 100
1 200
3 100
item_id 100 veya 200 olan ve iki satır olan kullanıcıyı bulmak için şöyle yaparız.SELECT user_id FROM yourTable WHERE item_id IN (100, 200)
GROUP BY user_id
HAVING COUNT(DISTINCT item_id) = 2;
group_concat
Sütunları için teker teker kullanmak mantıklı şöyle yaparız. null değerleri dikkate almaz.
Örnek
Şöyle yaparız.
SELECT GROUP_CONCAT(first_name), GROUP_CONCAT(last_name) FROM test;
Çıktı olarak şunu alırız.first_name | last_name |
first_1 | NULL |
NULL | last_1 |
--------------------------------
first_1 | last_1 | NULL <-- GROUP_CONCAT of columns
max metoduÖrnek ver
min metodu
Örnek ver
sum metodu
Sum genelde group by ile beraber kullanılır.
Örnek
Elimizde şöyle bir tablo olsun.
project_name janExp febExp marchExp aprilExp
project A 1000 1100 1200 1300
project B 2000 2100 2200 2300
project C 3000 3100 3200 3300
project A 500 600 700 800
project B 100 200 300 400
Her projenin aylık masraflarını görmek isteyelim.project_name janExp febExp marchExp aprilExp
Project A 1500 1700 1900 2100
Project B 2100 2300 2500 2700
project C 3000 3100 3200 3300
Şöyle yaparız.Select
project_name,
Sum (janExp),
Sum (febExp),
Sum (marchExp)
From table
Group by project_name
Hiç yorum yok:
Yorum Gönder