DESC в MySQL — 100 жизненных приёмов сортировки

100 практических кейсов MySQL DESC: сортировки ORDER BY, индексы, оконные функции, DESCRIBE таблиц.

🟢 DESC в MySQL. Введение

DESC в MySQL используется в двух случаях: как ключевое слово descending для сортировки по убыванию и как сокращение от DESCRIBE для просмотра структуры таблицы. Ниже приведены синтаксис, типовая конструкция и 100 практических примеров.

Синтаксис

SELECT * FROM table ORDER BY column DESC;
CREATE INDEX idx_col_desc ON table(column DESC);
DESC table_name;

Типовая конструкция

SELECT id, total
FROM orders
ORDER BY total DESC;

100 примеров

1. Сортировка по total по убыванию

SELECT id, total 
  FROM demo 
 ORDER BY total DESC;

2. Сортировка по price по убыванию

SELECT id, price 
  FROM demo 
 ORDER BY price DESC;

3. Сортировка по salary по убыванию

SELECT id, salary 
  FROM demo 
 ORDER BY salary DESC;

4. Сортировка по score по убыванию

SELECT id, score 
  FROM demo 
 ORDER BY score DESC;

5. Сортировка по created_at по убыванию

SELECT id, created_at 
  FROM demo 
 ORDER BY created_at DESC;

6. Сортировка по updated_at по убыванию

SELECT id, updated_at 
  FROM demo 
 ORDER BY updated_at DESC;

7. Сортировка по age по убыванию

SELECT id, age 
  FROM demo 
 ORDER BY age DESC;

8. Сортировка по priority по убыванию

SELECT id, priority 
  FROM demo 
 ORDER BY priority DESC;

9. Сортировка по rating по убыванию

SELECT id, rating 
  FROM demo 
 ORDER BY rating DESC;

10. Сортировка по likes по убыванию

SELECT id, likes 
  FROM demo 
 ORDER BY likes DESC;

11. Сортировка по views по убыванию

SELECT id, views FROM demo ORDER BY views DESC;

12. Сортировка по downloads по убыванию

SELECT id, downloads FROM demo ORDER BY downloads DESC;

13. Сортировка по revenue по убыванию

SELECT id, revenue FROM demo ORDER BY revenue DESC;

14. Сортировка по profit по убыванию

SELECT id, profit FROM demo ORDER BY profit DESC;

15. Сортировка по distance по убыванию

SELECT id, distance FROM demo ORDER BY distance DESC;

16. Сортировка по duration по убыванию

SELECT id, duration FROM demo ORDER BY duration DESC;

17. Сортировка по steps по убыванию

SELECT id, steps FROM demo ORDER BY steps DESC;

18. Сортировка по temperature по убыванию

SELECT id, temperature FROM demo ORDER BY temperature DESC;

19. Сортировка по latency_ms по убыванию

SELECT id, latency_ms FROM demo ORDER BY latency_ms DESC;

20. Сортировка по population по убыванию

SELECT id, population FROM demo ORDER BY population DESC;

21. Сортировка по gpa по убыванию

SELECT id, gpa FROM demo ORDER BY gpa DESC;

22. Сортировка по weight по убыванию

SELECT id, weight FROM demo ORDER BY weight DESC;

23. Сортировка по height по убыванию

SELECT id, height FROM demo ORDER BY height DESC;

24. Сортировка по stock по убыванию

SELECT id, stock FROM demo ORDER BY stock DESC;

25. Сортировка по discount по убыванию

SELECT id, discount FROM demo ORDER BY discount DESC;

26. Сортировка по orders по убыванию

SELECT id, orders FROM demo ORDER BY orders DESC;

27. Сортировка по payments по убыванию

SELECT id, payments FROM demo ORDER BY payments DESC;

28. Сортировка по sessions по убыванию

SELECT id, sessions FROM demo ORDER BY sessions DESC;

29. Сортировка по events по убыванию

SELECT id, events FROM demo ORDER BY events DESC;

30. Сортировка по tickets по убыванию

SELECT id, tickets FROM demo ORDER BY tickets DESC;

31. Сортировка по messages по убыванию

SELECT id, messages FROM demo ORDER BY messages DESC;

32. Сортировка по comments по убыванию

SELECT id, comments FROM demo ORDER BY comments DESC;

33. Сортировка по shares по убыванию

SELECT id, shares FROM demo ORDER BY shares DESC;

34. Сортировка по followers по убыванию

SELECT id, followers FROM demo ORDER BY followers DESC;

35. Сортировка по balance по убыванию

SELECT id, balance FROM demo ORDER BY balance DESC;

36. Сортировка по consumption по убыванию

SELECT id, consumption FROM demo ORDER BY consumption DESC;

37. Сортировка по capacity по убыванию

SELECT id, capacity FROM demo ORDER BY capacity DESC;

38. Сортировка по altitude по убыванию

SELECT id, altitude FROM demo ORDER BY altitude DESC;

39. Сортировка по version по убыванию

SELECT id, version FROM demo ORDER BY version DESC;

40. Сортировка по level по убыванию

SELECT id, level FROM demo ORDER BY level DESC;

Ещё примеры

41. Сортировка по стране и доходу

SELECT id, country, revenue FROM users ORDER BY country ASC, revenue DESC;

42. Сортировка по городу и населению

SELECT id, city, population FROM cities ORDER BY city ASC, population DESC;

43. Сортировка по департаменту и зарплате

SELECT id, dept, salary FROM employees ORDER BY dept ASC, salary DESC;

44. Сортировка по категории и цене

SELECT id, category, price FROM products ORDER BY category ASC, price DESC;

45. Сортировка по бренду и рейтингу

SELECT id, brand, rating FROM products ORDER BY brand ASC, rating DESC;

46. Сортировка по ip и дате входа

SELECT id, ip, login_at FROM logins ORDER BY ip ASC, login_at DESC;

47. Сортировка по региону и прибыли

SELECT id, region, profit FROM sales ORDER BY region ASC, profit DESC;

48. Сортировка по языку и числу постов

SELECT id, lang, posts_cnt FROM bloggers ORDER BY lang ASC, posts_cnt DESC;

49. Сортировка по сервису и времени ответа

SELECT id, service, latency_ms FROM api ORDER BY service ASC, latency_ms DESC;

50. Сортировка по кампании и CTR

SELECT id, campaign, ctr FROM ads ORDER BY campaign ASC, ctr DESC;

51. Сортировка по складу и остатку

SELECT sku, warehouse, qty FROM stock ORDER BY warehouse ASC, qty DESC;

52. Сортировка по курсу и числу студентов

SELECT course_id, student_id, gpa FROM grades ORDER BY course_id ASC, gpa DESC;

53. Сортировка по товару и скидке

SELECT id, name, discount FROM products ORDER BY name ASC, discount DESC;

54. Сортировка по модели и году выпуска

SELECT id, model, year FROM cars ORDER BY model ASC, year DESC;

55. Сортировка по сенсору и температуре

SELECT id, sensor_id, temp_c FROM iot ORDER BY sensor_id ASC, temp_c DESC;

56. Сортировка по кампании и дате запуска

SELECT id, campaign_id, created_at FROM ads ORDER BY campaign_id ASC, created_at DESC;

57. Сортировка по job_id и дате найма

SELECT id, job_id, hired_at FROM employees ORDER BY job_id ASC, hired_at DESC;

58. Сортировка по проекту и прогрессу

SELECT id, project, progress FROM tasks ORDER BY project ASC, progress DESC;

59. Сортировка по роли и активности

SELECT id, role, activity FROM users ORDER BY role ASC, activity DESC;

60. Сортировка по сегменту и доходу

SELECT id, segment, revenue FROM customers ORDER BY segment ASC, revenue DESC;

Ещё примеры

61. ROW_NUMBER по цене по убыванию

SELECT id, ROW_NUMBER() OVER (ORDER BY price DESC) AS rn FROM products;

62. RANK по результату экзамена

SELECT student_id, RANK() OVER (ORDER BY score DESC) AS rnk FROM exams;

63. DENSE_RANK по зарплате

SELECT id, DENSE_RANK() OVER (ORDER BY salary DESC) AS dr FROM employees;

64. ROW_NUMBER по дате заказа

SELECT id, ROW_NUMBER() OVER (ORDER BY created_at DESC) AS rn FROM orders;

65. RANK по выручке магазина

SELECT shop_id, RANK() OVER (ORDER BY revenue DESC) AS rnk FROM shops;

66. DENSE_RANK по числу заказов

SELECT user_id, DENSE_RANK() OVER (ORDER BY orders_cnt DESC) AS dr FROM users;

67. ROW_NUMBER по температуре сенсора

SELECT id, ROW_NUMBER() OVER (ORDER BY temp_c DESC) AS rn FROM sensors;

68. RANK по скорости отклика

SELECT id, RANK() OVER (ORDER BY latency_ms DESC) AS rnk FROM apis;

69. ROW_NUMBER по числу шагов

SELECT id, ROW_NUMBER() OVER (ORDER BY steps DESC) AS rn FROM tracker;

70. RANK по марже сделки

SELECT id, RANK() OVER (ORDER BY margin DESC) AS rnk FROM deals;

71. ROW_NUMBER по числу лайков

SELECT id, ROW_NUMBER() OVER (ORDER BY likes DESC) AS rn FROM posts;

72. RANK по числу просмотров

SELECT id, RANK() OVER (ORDER BY views DESC) AS rnk FROM videos;

73. ROW_NUMBER по числу загрузок

SELECT id, ROW_NUMBER() OVER (ORDER BY downloads DESC) AS rn FROM files;

74. RANK по числу сообщений

SELECT chat_id, RANK() OVER (ORDER BY msgs_cnt DESC) AS rnk FROM chats;

75. DENSE_RANK по gpa студентов

SELECT id, DENSE_RANK() OVER (ORDER BY gpa DESC) AS dr 
  FROM students;

76. ROW_NUMBER по количеству посещений

SELECT id, ROW_NUMBER() OVER (ORDER BY visits DESC) AS rn 
  FROM sites;

77. RANK по CTR кампаний

SELECT id, RANK() OVER (ORDER BY ctr DESC) AS rnk 
  FROM ads;

78. ROW_NUMBER по продолжительности

SELECT id, ROW_NUMBER() OVER (ORDER BY duration_sec DESC) AS rn 
  FROM sessions;

79. RANK по доходу клиента

SELECT id, RANK() OVER (ORDER BY revenue DESC) AS rnk 
  FROM customers;

80. ROW_NUMBER по числу отзывов

SELECT id, ROW_NUMBER() OVER (ORDER BY reviews_cnt DESC) AS rn 
  FROM products;

Ещё примеры

81. Индекс по цене DESC

CREATE INDEX idx_price_desc ON products(price DESC);

82. Индекс по дате DESC

CREATE INDEX idx_created_desc ON orders(created_at DESC);

83. Индекс по фамилии DESC

CREATE INDEX idx_lastname_desc ON users(last_name DESC);

84. Индекс по статусу DESC

CREATE INDEX idx_status_desc ON tickets(status DESC);

85. Индекс по зарплате DESC

CREATE INDEX idx_salary_desc ON employees(salary DESC);

86. Индекс по региону DESC

CREATE INDEX idx_region_desc ON customers(region DESC);

87. Индекс по версии ПО DESC

CREATE INDEX idx_version_desc ON software(version DESC);

88. Индекс по категории DESC

CREATE INDEX idx_category_desc ON products(category DESC);

89. Индекс по дате входа DESC

CREATE INDEX idx_login_desc ON logins(login_at DESC);

90. Индекс по gpa DESC

CREATE INDEX idx_gpa_desc ON students(gpa DESC);

91. DESC для структуры таблицы users

DESC users;

92. DESC для структуры таблицы orders

DESC orders;

93. DESC для структуры таблицы products

DESC products;

94. DESC для структуры таблицы employees

DESC employees;

95. DESC для структуры таблицы payments

DESC payments;

96. DESC для структуры таблицы categories

DESC categories;

97. DESC для структуры таблицы tickets

DESC tickets;

98. DESC для структуры таблицы blogs

DESC blogs;

99. DESC для структуры таблицы sessions

DESC sessions;

100. DESC для структуры таблицы logs

DESC logs;

Заключение

DESC используется для сортировки по убыванию (descending) и для просмотра структуры таблицы (DESCRIBE). 100 примеров выше показывают применение в аналитике, администрировании и оптимизации MySQL.

Подробнее см. в официальной документации MySQL.


 

Понравилась статья? Поделиться с друзьями: