У меня есть таблица с именем, статусом, неудачей или успехом, counts от 1 до 100. Я хочу заказать его таким образом, чтобы имена только «fail» должны показать сверху вместе, то же имя с неудачей и успехом вместе, а затем имена с успехом вместе. Можем ли мы сделать это на языке запросов sql? Спасибо.SQL order by multiple condition
0
A
ответ
3
Хорошо, это должно работать на большинстве СУБД:
SELECT A.*
FROM YourTable A
INNER JOIN (SELECT name,
COUNT(DISTINCT status) StatusCount,
MIN(status) MinStatus
FROM YourTable
GROUP BY name) B
ON A.name = B.name
ORDER BY CASE WHEN StatusCount = 1 AND MinStatus = 'fail' THEN 1
WHEN StatusCount = 2 THEN 2
ELSE 3 END, A.name, A.status
0
Если MySQL
select *, 0 as o
from t
union all
select *, 1 as o
from t
order by
o = 1 and status != 'fail', o != 1, status = fail
Смежные вопросы
- 1. SQL ORDER BY multiple columns
- 2. sql complex order by multiple fields
- 3. SQL ORDER BY by ORDER BY
- 4. php/mysql multiple order by
- 5. SQL Order By In Order By
- 6. mysql order by multiple columns, включая флаг
- 7. SQL order by, group by,
- 8. SQL ORDER BY GROUP BY
- 9. Order by multiple - для атрибута wordpress
- 10. Mysql multiple ORDER BY with UNION
- 11. php mysql select order by multiple colums
- 12. SQL ORDER BY performance
- 13. SQL-запрос - ORDER BY
- 14. SQL Server -Order BY
- 15. SQL ORDER BY Подзапрос
- 16. sql order by logic
- 17. SQL Order By CHARINDEX()
- 18. complex sql order by
- 19. SQL date order by
- 20. SQL Order by ... ASC
- 21. SQL ORDER BY Idea
- 22. SQL-установка ORDER BY
- 23. Условный SQL ORDER BY
- 24. SQL ORDER BY issue
- 25. SQL ORDER BY LIKE
- 26. SQL Advance ORDER By
- 27. Django sql order by
- 28. ORACLE SQL ORDER BY
- 29. ORDER BY в SQL
- 30. Rails Order by SQL
Проверьте это: http://stackoverflow.com/questions/2758374/tsql-ordering- data-by-specific-string-values В принципе вы можете 'ORDER BY' использовать инструкцию' CASE', за которой следует имя и количество. – Deruijter
И вы используете MySQL или SQL Server? (и с какой версией?) – Lamak
Что значит «вместе» в соответствии с вами? Какое влияние «имеет значение» на вашу сортировку? Лучше всего было бы представить пример данных, а затем пример ожидаемого результата. Это ускорит ваш вопрос. Из-за уникальности воображения каждого человека, я думаю, может быть несколько различных решений и результатов, подходящих для вашего запроса. Так что да, добавьте пример того, чего вы хотите достичь :) –