[Ответить в тред] Ответить в тред

15/11/16 - **НОВЫЙ ФУНКЦИОНАЛ** - Стикеры
09/10/16 - Открыта доска /int/ - International, давайте расскажем о ней!
30/09/16 - BREAKING NEWS ШОК АБУ ПРОДАЛСЯ МЭЙЛУ (на самом деле нет)


Новые доски: /2d/ - Аниме/Беседка • /wwe/ - WorldWide Wrestling Universe • /ch/ - Чатики и конфочки • /int/ - International • /ruvn/ - Российские визуальные новеллы • /math/ - Математика • Создай свою

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 58 | 4 | 11
Назад Вниз Каталог Обновить

Аноним 28/11/16 Пнд 16:13:45  141059003  
mysql.png (3Кб, 312x161)
Screenshot from[...].png (23Кб, 966x272)
Анон, почему в результатах одна колонка?
КАк вывести еще одну колонку girls?

SELECT COUNT(`is_male`) AS 'boys' FROM `users` WHERE `is_male` = 1 UNION (SELECT COUNT(`is_male`) AS 'girls' FROM `users` WHERE `is_male` = 0)
Аноним 28/11/16 Пнд 16:15:08  141059082
У нас за такой код в офисах пиздят
Аноним 28/11/16 Пнд 16:16:25  141059152
>>141059082
какой надо код?
В несколько разных, простых и малых запросах?
Аноним 28/11/16 Пнд 16:34:32  141060134
bump
Аноним 28/11/16 Пнд 16:46:40  141060919
>>141059003 (OP)
select
(select count(is_male) "boys" from users where is_male = 1),
(select count(is_male) "girls" from users where is_male = 0)
from dual
Аноним 28/11/16 Пнд 16:48:24  141061040
>>141060919
Я выгуглил еще так:

SELECT * FROM
(SELECT COUNT(`is_male`) AS 'boys' FROM `users` WHERE `is_male` = 1) t1,
(SELECT COUNT(`is_male`) AS 'girls' FROM `users` WHERE `is_male` = 0) t2



Аноним 28/11/16 Пнд 16:49:37  141061129
>>141059003 (OP)
> Анон, почему в результатах одна колонка?
Ты указал возвращаемое поле (альяс для агрегата), он тебе его будет возвращать.
Аноним 28/11/16 Пнд 16:51:29  141061252
>>141061040
Ну я то-то не гуглил. Твой загугленный вариант подходит исключительно под твою задачу и основано на декартовом умножении, хитро.
Аноним 28/11/16 Пнд 16:51:33  141061259
>>141061129

Я нагуглил такой способ и он работает:
>>141061040

На сколько это красивое решение или есть лучше?
Аноним 28/11/16 Пнд 16:58:43  141061734
>>141061252
я сейчас еще, может быть, буду спрашивать вопросы.
Аноним 28/11/16 Пнд 16:59:03  141061756
>>141061259
MySQL поддерживает decode, как в oracle? Если да, то такой вариант ещё можно:

select decode(is_male, 1, count(is_male)) "boys",
decode(is_male, 0, count(is_male)) "girls"
from users

Если нет, то бери мой вариант >>141060919 , либо свой загугленный.
Аноним 28/11/16 Пнд 16:59:29  141061780
Ты юнионом просто значения добавляешь в колонку, а не выводишь еще одну таблицу
Аноним 28/11/16 Пнд 17:00:35  141061857
>>141061734
А я пока в киоск к конфетнице - без печенек жизни нет.
Аноним 28/11/16 Пнд 17:23:20  141063363
Screenshot from[...].png (21Кб, 418x203)
как сделать select всех записей, где distinct только по одной колонке?
Т.е. результат нужен примерно как тут:

1, Moscow
3, piter
Аноним 28/11/16 Пнд 17:25:45  141063537
>>141060919
>>from dual

обосрался с этого ораклоида. Представляю как анон сейчас не понимат почему не работает,лол

мимо-дба
Аноним 28/11/16 Пнд 17:26:41  141063602
Так НЕ работает
SELECT `city_id` FROM `cities` WHERE UNIQUE(`city_name`)
SELECT `city_id` FROM `cities` WHERE DISTINCT(`city_name`)
Аноним 28/11/16 Пнд 17:28:35  141063722
>>141063363
никак, долбоебушка. Почитай что такое дистинкт и с чем его употребляют. Там написано как правильно пользоваться
Аноним 28/11/16 Пнд 17:29:25  141063776
>>141063537
Тогда я ушёл есть печеньки. Алсо в mysql 5.7 есть dual
Аноним 28/11/16 Пнд 17:30:27  141063848
>>141063722
>никак
Мне надо удалить строки с повторяющимися значениями.
Я хочу сделать DELETE *FROM 'cities' WHERE 'city_id' NOT IN (ЭТОТ СЕЛЕКТ)
Аноним 28/11/16 Пнд 17:31:03  141063888
>>141059003 (OP)
SELECT SUM(`is_male`) AS boys, (COUNT(1)-SUM(`is_male`)) AS girls FROM `users`
Мимоиндус
Аноним 28/11/16 Пнд 17:31:32  141063914
>>141063776
вот это я проиграл так проиграл, лол. Пора значит весь наш бэкенд на mysql переводить. Завтра посонам на работе расскажу
Аноним 28/11/16 Пнд 17:32:00  141063937
case используй ^_~
Аноним 28/11/16 Пнд 17:32:27  141063963
>>141063914
Ты мне не веришь или что? http://dev.mysql.com/doc/refman/5.7/en/select.html
Аноним 28/11/16 Пнд 17:33:15  141064019
>>141063363
GROUP BY используй
Мимоиндус
Аноним 28/11/16 Пнд 17:33:40  141064049
Выкатывайся из программирования нахуй. Иди в нормальные сферы (работником на завод и т.п)
Аноним 28/11/16 Пнд 17:34:06  141064080

>>141063963
верю, говорю же я проиграл. Ценность этой таблицы в mysql, правда, вызывает вопросы, лол.
Аноним 28/11/16 Пнд 17:34:34  141064119
>>141064019
И что это даст? Он выведет отгруппированные значения, а не уникальные.
Аноним 28/11/16 Пнд 17:35:32  141064170
>>141064049
>работником на завод
сверловщиком за 8 тысяч?
Аноним 28/11/16 Пнд 17:36:01  141064202
select (case is_male when 1 then 'boy' when 0 then 'girl' end) as sex, count(*) from users
group by is_male
Аноним # OP  28/11/16 Пнд 17:36:42  141064239
>>141063888
SELECT SUM(`is_male` = 1) AS 'boys', SUM(`is_male` = 0) AS 'girls' FROM `users`
Аноним 28/11/16 Пнд 17:37:00  141064261
>>141063848
DELETE FROM cities WHERE rowid NOT IN (
SELECT MAX(rowid) FROM cities
GROUP BY id)
Аноним 28/11/16 Пнд 17:38:09  141064328
>>141064261
надеюсь rowid в майскуле есть
Аноним 28/11/16 Пнд 17:38:14  141064336
>>141064261
он удалит все, кроме самого большого id
Аноним 28/11/16 Пнд 17:39:13  141064397
Screenshot5.png (16Кб, 680x437)
Screenshot4.png (8Кб, 696x462)
>>141064119
Ну хуй знает
Мимоиндус
Аноним 28/11/16 Пнд 17:40:13  141064456
>>141064336
он удалит дубликаты при условии наличия УНИКАЛЬНОГО ключа, в данном случае ROWID, который есть в оракле. В майскуэле не знаю, есть ли такое поле
Аноним 28/11/16 Пнд 17:41:09  141064520
>>141064202
Тебя двачую. Остальные в треде поехавшие просто какие-то, либо ньюфаги.
Аноним 28/11/16 Пнд 17:42:19  141064601
select count(a.is_male) as boys, count(b.is_male) as girls from users a, from users b
where a.is_male = 1 and b.is_male = 0
group by a.is_null, b.is_null
Аноним 28/11/16 Пнд 17:42:37  141064630
>>141064520

>> count(*) from users то нахуя блять? А если в таблице 25 млн записей?
Аноним 28/11/16 Пнд 17:43:05  141064655
Screenshot from[...].png (36Кб, 1034x564)
>>141064397
ошибка
Аноним 28/11/16 Пнд 17:43:21  141064665
>>141064601
from users a, users b

быстрофикс
Аноним 28/11/16 Пнд 17:43:48  141064696
>>141064655
че это за хуйня, в которой ты запросы пишешь?
Аноним 28/11/16 Пнд 17:43:59  141064704
>>141064170
Программистом ЧПУ 10 евро в час
Аноним 28/11/16 Пнд 17:44:14  141064718
>>141064696
phpmyadmin
Аноним 28/11/16 Пнд 17:44:33  141064735
>>141064718
ебать..
Аноним 28/11/16 Пнд 17:45:14  141064784
>>141064704
Ты уж определись.

>Выкатывайся из программирования нахуй
>Программистом ЧПУ 10 евро в час
Аноним 28/11/16 Пнд 17:45:58  141064848
>>141064735
Да! охуенная штука
Аноним 28/11/16 Пнд 17:46:12  141064865
>>141064630
Либо кэшировать надо, либо с триггерами пердолиться, либо что-то ещё, что заебешься объяснять. Думаю, у этих людей нет 25кк записей.

>>141064261
Ты, блядь, наркоман. Достаточно уникальный индекс повесить на интересующий столбец. Но для начала нужно будет позаботиться о том, чтобы внешние ключи в других таблицах не встали поперёк после этого.
Аноним 28/11/16 Пнд 17:46:48  141064906
>>141063848
delete from cities c1
where c1.id not in
(select max(id) from cityes c2 where c1.city_name in (select distinct city_name from c1))
Аноним 28/11/16 Пнд 17:47:30  141064954
>>141064906
больше вложенных запросов
Аноним 28/11/16 Пнд 17:47:56  141064985
>>141064954
EEEEEEEEEEEEEEEEEEEEEEEEE-E-E-E!!!!!!!!!!!1111
Аноним 28/11/16 Пнд 17:48:10  141065001
>>141064655
Попробуй еще так
SELECT MIN(city_id), city_name FROM test.test GROUP BY city_name
Это точно должно сработать
Аноним 28/11/16 Пнд 17:50:55  141065176
>>141064784
Так там кодить не надо, нажал пару кнопок - и греби бабки
Аноним 28/11/16 Пнд 17:53:01  141065304
>>141064865

>>Либо кэшировать надо, либо с триггерами пердолиться, либо что-то ещё, что заебешься объяснять. Думаю, у этих людей нет 25кк записей.

да нахуй и в пизду - sum() over(partition by order by )

>>Ты, блядь, наркоман. Достаточно уникальный индекс повесить на интересующий столбец. Но для начала нужно будет позаботиться о том, чтобы внешние ключи в других таблицах не встали поперёк после этогого.

Какой ему нахуй индекс, пусть хотябы начнет пользоваться уникальными ключами.
Аноним 28/11/16 Пнд 18:05:37  141066076
>>141065176
это в РФ?
Аноним 28/11/16 Пнд 18:06:40  141066142
>>141065304
Я имел в виду уникальный ключ, но слишком долго не спал, чтобы писать сейчас нормально именно то, что имею в виду.
Аноним 28/11/16 Пнд 18:14:24  141066593
>>141059003 (OP)

select from (
SELECT COUNT(
) AS boys, null as girls FROM users WHERE is_male = 1
UNION
SELECT null , COUNT(*) FROM users WHERE is_male = 0
)
group by boys, girls
Аноним 28/11/16 Пнд 18:19:54  141066938
>>141066076
Да
Аноним 28/11/16 Пнд 18:44:33  141068492
>>141066938
на rabota.yandex.ru что-то 50-60к написано и нужна вышка по инженерной специальности и опыт
Аноним 28/11/16 Пнд 18:47:35  141068688
>>141068492
Поработаешь в Рашке - предложат в Европке
>вышка
Этому в пту учат

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 58 | 4 | 11
Назад Вверх Каталог Обновить

Топ тредов
Избранное