Порядок базы данных mysql по

<table>
        <tr>
            <th>name</th>
            <th>sum(value)</th>
         </tr>
         <tr>
            <td>null</td>
            <td>85</td>
         </tr>
         <tr>
            <td>arun</td>
            <td>74</td>
        </tr>
        <tr>
            <td>dhin</td>
           <td>55</td>
       </tr>
    </table>

у меня есть данные таблицы, как указано выше. Я хочу отсортировать элементы на основе суммы (значения) по убыванию, и если имя равно нулю, оно должно отображаться последним. как написать запрос в MySQL

мой запрос: SELECT p.class, p.buyref, p.no_of_mat_id, p.tot_cos from (выберите a.class, group_concat (отдельный a.buyref SEPARATOR '","') как buyref, count (*) как no_of_mat_id, sum (tc) как tot_cos from (выберите a.class, a.buyref, sum (b.total_cost) как tc from (ВЫБЕРИТЕ отдельный a.class, b.buyref FROM material_master a присоединиться к rxml_reference b на a.cat_id = b.cat_id, где a.language = '0161-1 # LG-000001 # 1' и b.property = 'СПРАВОЧНИК ПОКУПАТЕЛЯ' и b.buyref <> '' и b.buyref в ("E268200006", "E570500008", "E330010072", 1274266, 1257657, 1216933, 1275795, 1269085, 1216931, 1257656, 1213833, 5066725, 1275794, 5067252, 1257658, 1236240 "," 1274249 "," 1213824 "," 1275797 "," 5067664 "," 1236239 "," 1248625 "," 1275796 "," 5066724 "," 5065949 "," 1213989 "," 1216932 "," 1257659 ", 1227545, 1280565, 1280549, 1213829, 1264792, 1280550, 1280551, 1216943, 1249846, 1210250, 1282003, 1248620, 5065948 "," 1213830 "," 1216942 "," 1210217 "," 1210247 "," 1279855 "," 1280567 "," 1280553 "," 1210292 "," 1281546 "," 1213846 "," 1238253 "," 1210323 ", «1264791», «5065610», «1217304» , "1216973", "1271479", "1285240", "1217303", "5063937", "5063934", "1285241", "1238255", "1280552", "1280566", "1292638", "5075432", " 1292635 "," 1293721 "," 1258418 "," 1290188 "," 5071130 "," 1292061 "," 1258417 "," 1292634 "," 1292631 "," 1292632 "," 1292633 "," 1292639 "," 1292060 " , "5071580", "1293251", "5075431", "1292597", "36066", "1268083", "1219900", "49194", "46646", "1272051", "48743", "1219891", " 49604 "," 41693 "," 1247650 "," 1241850 "," 41728 "," 49588 "," 1258736 "," 44917 "," 1219898 "," 1266629 "," 39660 "," 1267486 "," 1270445 " , "1222352", "1259901", "36074", "1272388", "1275153", "1240833", "1237806", "46645", "1219897", "1271400", "1272385", "41066", " 36073, 1244303, 1241848, 41730, 1220612, 45332, 41565, 49204, 1244246, 45329, 1272384, 1222919, 1231947 , «1225515», «1272052», «1271399», «49664», «46118», «1241847», «49691», «1219899», «1273498», «52919», «46350», «49201», « 1272750, 1237807, 29632, 1220800, 36481, 41709, 1276924, 40133, 36062, 36268, 49684, 1273492, 1276923 , «36302», «1281374», «49603», «1219892», «49480»)) соединение final_tran saction b на a.buyref = b.item, где b.accounting_date> = '2014-1-01 00:00:00' и b.accounting_date <= '2018-4-31 00:00:00' и b.supplier_id в ('GLOBL-ASP01-0000005443', 'GLOBL-ASP01-0000005443', 'GLOBL-NFT01-0000124166', 'GLOBL-ASP01-0000001239', 'APCPM-APCPM-A0012496', 'GLOBL-ASP01-0000001643', 'ACM_388437', 'ACM_11590352', 'ACM_5174231', 'ECM_18494') группировать по a.class, a.buyref) группа по a.class упорядочить по сумме (tc) desc) p ORDER BY p.tot_cos desc

Может быть, покажите свои таблицы mysql, которые вы используете?

Jari Rengeling 13.04.2018 11:14

если ваш вопрос: "Как написать запрос в MySQL?" тогда ответ: это не сайт бесплатных уроков по программированию, посмотрите несколько руководств. Но я полагаю, ваш вопрос просто плохо написан, и вы спрашиваете: «Каков запрос для этого?» тогда ответ таков: этот сайт здесь не для того, чтобы делать вашу работу, предоставлять то, что вы пробовали, и почему вы думаете, что он должен работать и почему вы думаете, что это не работает.

vincrichaud 13.04.2018 11:29
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
0
2
18
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
SELECT name,SUM(value) 
FROM TABLE1
ORDER BY CASE WHEN name IS NULL THEN 1 ELSE 0 END,SUM(value) Desc

выход

name    sum_value
trun    84
arun    74
dhin    55
(null)  85

Демо Ссылка

http://sqlfiddle.com/#!9/fa6eb7/1

Другие вопросы по теме

Похожие вопросы