sql >> Databáze >  >> RDS >> Mysql

Jak napsat tento SQL příkaz?

SELECT user.name, user.subject
FROM user
INNER JOIN (
    SELECT name, COUNT(1) AS occurrences
    FROM user
    GROUP BY name
  ) AS user_occurrences
  ON user.name = user_occurrences.name
ORDER BY user_occurrences.occurrences DESC, user.name ASC, user.subject ASC
LIMIT 4

upravit To by mohlo fungovat lépe v závislosti na RDBMS, který používáte, a velikosti datové sady. Vyzkoušejte oba a porovnejte.

SELECT user.name, user.subject
FROM user
INNER JOIN user AS user_occurrences
  ON user.name = user_occurrences.name
GROUP BY user.name --, user.subject Second GROUP BY not needed on MySQL, but it should logically be there
ORDER BY COUNT(user_occurrences.subject) DESC, user.name ASC, user.subject ASC
LIMIT 4


  1. Dotaz na seznam všech uložených procedur

  2. Problém s fondem připojení s MySQL pomocí Hibernate a Apache DBCP

  3. Převést objekt na řetězec v PHP

  4. Upravte pole CSV při importu do mysql