Size: a a a

DBA - русскоговорящее сообщество

2021 February 21

n🐈

nikoinlove 🐈 in DBA - русскоговорящее сообщество
можт айдишки сравнить если он по порядку?)
источник
2021 February 22

E

Etki in DBA - русскоговорящее сообщество
Экономия на спичках
источник

n🐈

nikoinlove 🐈 in DBA - русскоговорящее сообщество
ну каунт по базе плохо все ж знают
источник

E

Etki in DBA - русскоговорящее сообщество
Угу, целая тысяча записей
источник

D

Drunk in DBA - русскоговорящее сообщество
Доброго времени суток, есть запрос SELECT * FROM tickets as T JOIN city as C on T.CityID = C.ID WHERE T.ID = 156904 OR T.ID = 156675 OR T.ID = 156806 .
Как получить ответ в порядке котором они запрошены в where?

Что бы первый был ticket с id = 156904, затем 156675, затем 156806, а не в порядке в котором sql их найдёт?
источник

K

Kamoliddin in DBA - русскоговорящее сообщество
добавить order by ?
источник

K

Kamoliddin in DBA - русскоговорящее сообщество
SELECT * FROM tickets as T JOIN city as C on T.CityID = C.ID WHERE T.ID IN (156904, 156675, 156806 ) ORDER BY T.ID;
источник

K

Kamoliddin in DBA - русскоговорящее сообщество
или же

SELECT * FROM tickets as T JOIN city as C on T.CityID = C.ID WHERE T.ID = 156904
union
SELECT * FROM tickets as T JOIN city as C on T.CityID = C.ID WHERE T.ID = 156675
union
SELECT * FROM tickets as T JOIN city as C on T.CityID = C.ID WHERE T.ID = 156806
источник

E

Etki in DBA - русскоговорящее сообщество
Order by field, а юнионы выше использовать только для наказания грешников
источник

IZ

Ilia Zviagin in DBA - русскоговорящее сообщество
V. Lavrinovics 🇦🇹
Здравствуйте, подскажите, почему такой Mysql код не работает в таком виде, а работает только когда подставляю конкретные числа в ON ?

"SELECT *
   FROM
     items,
     categories,
     dears
   INNER JOIN
     item_category
   ON  item_category.item_id = items.id AND
     item_category.category_id = categories.category_id

   INNER JOIN
     item_dear
   ON  item_dear.item_id = items.id AND
     item_dear.dear_id = dears.dear_id
   WHERE
     items.id = 1"
Не надо мешать в одном запросе Ansi и classic join-ы, используй только ANSI
источник

IZ

Ilia Zviagin in DBA - русскоговорящее сообщество
Oleg Nechaev
Привет!
Задача: узнать больше ли 1000 строк было добавлено в mysql таблицу table1 за прошедший 1 час. Как оптимально это выполнить? COUNT(*)? SQL_CALC_FOUND_ROWS? Возможно подсчет строк с лимитом = 1000?

SELECT * FROM table1 WHERE table1.DATETIME >= '2021-02-20 16:14:35';
Через count
источник

IZ

Ilia Zviagin in DBA - русскоговорящее сообщество
Drunk
Доброго времени суток, есть запрос SELECT * FROM tickets as T JOIN city as C on T.CityID = C.ID WHERE T.ID = 156904 OR T.ID = 156675 OR T.ID = 156806 .
Как получить ответ в порядке котором они запрошены в where?

Что бы первый был ticket с id = 156904, затем 156675, затем 156806, а не в порядке в котором sql их найдёт?
Order by
источник

IZ

Ilia Zviagin in DBA - русскоговорящее сообщество
Kamoliddin
или же

SELECT * FROM tickets as T JOIN city as C on T.CityID = C.ID WHERE T.ID = 156904
union
SELECT * FROM tickets as T JOIN city as C on T.CityID = C.ID WHERE T.ID = 156675
union
SELECT * FROM tickets as T JOIN city as C on T.CityID = C.ID WHERE T.ID = 156806
Тут все равно нужен order by
источник

ON

Oleg Nechaev in DBA - русскоговорящее сообщество
Etki
Угу, целая тысяча записей
но COUNT(*) же пересчитает всю таблицу, а там может быть значительно больше записей. 1000 - это только за последний час. Вы имеете в виду, что нужен индекс по DATETIME?
источник

E

Etki in DBA - русскоговорящее сообщество
целых десять тысяч записей?
источник

IZ

Ilia Zviagin in DBA - русскоговорящее сообщество
Oleg Nechaev
но COUNT(*) же пересчитает всю таблицу, а там может быть значительно больше записей. 1000 - это только за последний час. Вы имеете в виду, что нужен индекс по DATETIME?
Не пересчитает .
источник

ON

Oleg Nechaev in DBA - русскоговорящее сообщество
Etki
целых десять тысяч записей?
по условию задачи на каждом хите добавляется запись в эту таблицу. Гораздо больше
источник

E

Etki in DBA - русскоговорящее сообщество
двадцать тысяч?
источник

IZ

Ilia Zviagin in DBA - русскоговорящее сообщество
Oleg Nechaev
но COUNT(*) же пересчитает всю таблицу, а там может быть значительно больше записей. 1000 - это только за последний час. Вы имеете в виду, что нужен индекс по DATETIME?
Индекс - это совсем другой вопрос.
источник

D

Drunk in DBA - русскоговорящее сообщество
Etki
Order by field, а юнионы выше использовать только для наказания грешников
Спасибо)
источник