Prosty raport do odpalenia na bazie Mantis-a, zawierający zestawienie ilości ticketów w każdym projekcie w rozbiciu na lata.
SELECT FROM_UNIXTIME(date_submitted, '%Y') as rok, pt.name as projekt, COUNT(*) as ilosc
FROM mantis_bug_table bt
LEFT JOIN mantis_project_table pt ON pt.id = bt.project_id
WHERE FROM_UNIXTIME(date_submitted, '%Y') IN (2011, 2012, 2013)
GROUP BY projekt, rok
ORDER BY projekt ASC, rok ASC
Potrzebowałem ostatnio zapytania, które zgrupuje wyniki po danej kolumnie i zwróci je wraz z ilością wystąpień – czyli banał. Dopiero dodanie warunku, aby zapytanie zwracało wyniki tylko dla 5 rekordów o największej zliczonej wartości wymagało chwili pisania. Listing poniżej.
SELECT
ip, costam_id, ile
FROM (
SELECT
*,
@rn := CASE WHEN @prev_ip = ip THEN @rn + 1 ELSE 1 END AS rn,
@prev_ip := ip
FROM (
SELECT
ip,
costam_id,
count(1) as ile
FROM play
GROUP BY ip, costam_id
) AS T1, (SELECT @prev_ip := '', @rn := 0) AS vars
ORDER BY ip, ile DESC
) AS T2
WHERE rn <= 5
ORDER BY ip, ile DESC
IT, Security, development and …