Автор Тема: SQL-задачка - закачка  (Прочетена 6348 пъти)

0 Потребители и 1 Гост преглежда(т) тази тема.

jazzman

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 25
  • -Получени: 191
  • Публикации: 3624
SQL-задачка - закачка
« -: 17 Юли 2015, 14:48:54 »
Имаме следната таблица и инфо към нея:
Код: SQL
  1. CREATE TABLE `tbl1` (
  2.   `col1` CHAR(4) NOT NULL
  3. ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
  4.  
  5. // insertion DATA
  6.  
  7. INSERT INTO `tbl1` VALUES ('c'),('a'),('d'),('b'),('a'),('c'),('d');
  8.  

Сортирането на информацията от col1 да бъде в изведена следният ред:

c, d, a, b

« Последна редакция: 17 Юли 2015, 22:58:20 от Avalanche »
Java is to Javascript as fun is to funeral.

http://nau4i.me/forum/index.php/topic,15129.0.html

Avalanche

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 65
  • -Получени: 275
  • Публикации: 2602
  • meow
Re: SQL-задачка - закачка
« Отговор #1 -: 17 Юли 2015, 22:58:09 »
Скри ми федората с тая задача, дай жокер.
"Компютрите не правят каквото искаме, а каквото им кажем." Ако разбереш какво значи това няма да имаш големи проблеми, нито с никоя ОС, нито език, или софтуер.
Аз не съм програмист между другото!

canon4o

  • Sr. Member
  • ****
  • Благодарности
  • -Казани: 18
  • -Получени: 33
  • Публикации: 324
Re: SQL-задачка - закачка
« Отговор #2 -: 17 Юли 2015, 23:15:54 »
Да не трябва резултата от сортирането да бъде: d, c, a, b?

jazzman

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 25
  • -Получени: 191
  • Публикации: 3624
Re: SQL-задачка - закачка
« Отговор #3 -: 17 Юли 2015, 23:32:23 »
Скри ми федората с тая задача, дай жокер.
  Ха-ха-ха, да речем Case :) Канончо, не съм объркал.
Java is to Javascript as fun is to funeral.

http://nau4i.me/forum/index.php/topic,15129.0.html

Avalanche

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 65
  • -Получени: 275
  • Публикации: 2602
  • meow
Re: SQL-задачка - закачка
« Отговор #4 -: 18 Юли 2015, 00:19:50 »
Ееее с if-ове и баба ще го нареди, мислех че има някаква тайна неразкрита ;)
"Компютрите не правят каквото искаме, а каквото им кажем." Ако разбереш какво значи това няма да имаш големи проблеми, нито с никоя ОС, нито език, или софтуер.
Аз не съм програмист между другото!

jazzman

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 25
  • -Получени: 191
  • Публикации: 3624
Re: SQL-задачка - закачка
« Отговор #5 -: 18 Юли 2015, 00:40:49 »
Ееее с if-ове и баба ще го нареди, мислех че има някаква тайна неразкрита ;)
Пробвай се с UNION тогава :)
Java is to Javascript as fun is to funeral.

http://nau4i.me/forum/index.php/topic,15129.0.html

jazzman

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 25
  • -Получени: 191
  • Публикации: 3624
Re: SQL-задачка - закачка
« Отговор #6 -: 19 Юли 2015, 14:35:23 »
Някой с решение има ли вече  ;)
Java is to Javascript as fun is to funeral.

http://nau4i.me/forum/index.php/topic,15129.0.html

Avalanche

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 65
  • -Получени: 275
  • Публикации: 2602
  • meow
Re: SQL-задачка - закачка
« Отговор #7 -: 19 Юли 2015, 15:54:25 »
Е ти вече ги каза... Аз винаги като видя SQL задача и мисля за решение свързано с реална ситуация, а не просто да покажа резултата:

Едно решение
mysql> SELECT `col1` FROM `tbl1` WHERE `col1` IN ('c', 'd') GROUP BY `col1` UNION ALL SELECT `col1` FROM `tbl1` WHERE `col1` IN ('a', 'b') GROUP BY `col1`;
+------+
| col1 |
+------+
| c    |
| d    |
| a    |
| b    |
+------+
4 rows in set (0.00 sec)
"Компютрите не правят каквото искаме, а каквото им кажем." Ако разбереш какво значи това няма да имаш големи проблеми, нито с никоя ОС, нито език, или софтуер.
Аз не съм програмист между другото!

jazzman

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 25
  • -Получени: 191
  • Публикации: 3624
Re: SQL-задачка - закачка
« Отговор #8 -: 19 Юли 2015, 16:48:15 »
Колко от задачите по математика в училище могат да се ползват в реалният живот? Идеята тук е да научиш нещо ново и да се опиташ да постигнеш решението сам.
Ето още едно с case:

TROLL
select
    col1
from
    (select
        col1,
            case col1
                when 'c' then 1
                when 'a' then 2
                when 'd' then 3
                when 'b' then 4
            END AS sortcol
    from
       tbl1
        group by col1, sortcol) as x
order by sortcol asc
Java is to Javascript as fun is to funeral.

http://nau4i.me/forum/index.php/topic,15129.0.html