@rubylang

Страница 191 из 1684
Mikhail
13.07.2016
12:42:28
да

Кøе-ктø Геннадьевич
13.07.2016
12:42:28
http://theclassicalcomposers.com/

Mikhail
13.07.2016
12:42:31
супер!

I
13.07.2016
12:42:35
мне нравится слово «полностью»)

Google
Mikhail
13.07.2016
12:42:37
Народ нужен хелп

Кøе-ктø Геннадьевич
13.07.2016
12:42:42
nfv ctqxfc ghj,ktvs там сейчас проблемы с файл-сервером - музыка и фотки не кажут\

ой

Mikhail
13.07.2016
12:42:53
[15] pry(main)> @quests = Quest.order(widget_present: :desc).page().per(12).pluck(:id) (1.0ms) SELECT "quests"."id" FROM "quests" ORDER BY "quests"."widget_present" DESC LIMIT 12 OFFSET 0 => [5, 7, 887, 886, 883, 882, 881, 877, 14, 13, 381, 31] [16] pry(main)> @quests = Quest.order(widget_present: :desc).page(2).per(12).pluck(:id) (1.1ms) SELECT "quests"."id" FROM "quests" ORDER BY "quests"."widget_present" DESC LIMIT 12 OFFSET 12 => [15, 888, 889, 32, 823, 382, 885, 24, 394, 37, 54, 31]

Кøе-ктø Геннадьевич
13.07.2016
12:42:56
вощим обещали починить сегодня завтра

I
13.07.2016
12:42:57
у меня тоже не кажут)

Mikhail
13.07.2016
12:43:01
посмотрите, дублирует ID

только добавляю ордер начинается дубляж

I
13.07.2016
12:44:02
интересно, а если в бд исполнишь этот запрос?)

Mikhail
13.07.2016
12:44:03
не разу не встречал

имеешь ввиду через sql

I
13.07.2016
12:44:21
да-да

rails db

Google
I
13.07.2016
12:44:26
к примеру

судя по всему - выведется то же самое

Mikhail
13.07.2016
12:47:41
questhunt_ru_development=# SELECT "quests"."id" FROM "quests" ORDER BY "quests"."widget_present" DESC LIMIT 12 OFFSET 0; id ----- 5 7 887 886 883 882 881 877 14 13 381 31 (12 rows) questhunt_ru_development=# SELECT "quests"."id" FROM "quests" ORDER BY "quests"."widget_present" DESC LIMIT 12 OFFSET 12; id ----- 15 888 889 32 823 382 885 24 394 37 54 31 (12 rows)

Aldar
13.07.2016
12:47:42
у тебя ордер по widget_present, а выводишь ты id Только

Mikhail
13.07.2016
12:48:03
все равно даже запросом

да-да
в чем может быть косяк

почему дублирует

I
13.07.2016
12:48:34
а как ты эти квесты создаешь? у тебя косяк там

Aldar
13.07.2016
12:48:38
ты имеешь ввиду почему 31 остаётся?

I
13.07.2016
12:49:00
а, да выведи widget_present еще

Mikhail
13.07.2016
12:49:23
Игорь там прикол в том, что могу без виджета

Aldar
13.07.2016
12:49:28
ничего странного не вижу, если widget_present от id Никак не зависит

Mikhail
13.07.2016
12:49:38
надо попробовать order created_at

хм

@igorpavlov [5] pry(main)> @quests = Quest.order(total_rating: :desc).page().per(12).pluck(:id) (2.5ms) SELECT "quests"."id" FROM "quests" ORDER BY "quests"."total_rating" DESC LIMIT 12 OFFSET 0 => [2, 7, 881, 886, 883, 882, 887, 877, 14, 13, 5, 381] [6] pry(main)> @quests = Quest.order(total_rating: :desc).page(2).per(12).pluck(:id) (1.1ms) SELECT "quests"."id" FROM "quests" ORDER BY "quests"."total_rating" DESC LIMIT 12 OFFSET 12 => [15, 888, 887, 32, 823, 382, 885, 24, 394, 37, 5, 54]

Смотри а если по тотал рейтингу

там инт просто

он смещает и дублирует. А если ордер по created_at то все норм

I
13.07.2016
12:52:22
попробуй в subquery

Mikhail
13.07.2016
12:52:26
t.integer "quest_ratings_count", default: 0

Google
Mikhail
13.07.2016
12:52:51
то есть любой мой филд кастомный отрезает почему то

ojab
13.07.2016
12:53:52
plot twist: id не primary key

I
13.07.2016
12:54:12
ну это слишком просто

Mikhail
13.07.2016
12:54:37
айди на месте

все праймари

I
13.07.2016
12:54:58
давай лучше Quest.where(id: 5).pluck(:id, :created_at)

Eugene
13.07.2016
12:55:28
эт мне сказали, ребята переписывают скрипты в чистых sql, когда много кода для обращения к базе, они его преобразуют в один скрипт, чтобы он быстро работал

так ли это?

больше смысла нету?

ojab
13.07.2016
12:55:50
wtf один скрипт?

Mikhail
13.07.2016
12:55:52
[2] pry(main)> @quests = Quest.order(total_rating: :desc).page().per(12).pluck(:id, :created_at) (1.1ms) SELECT "quests"."id", "quests"."created_at" FROM "quests" ORDER BY "quests"."total_rating" DESC LIMIT 12 OFFSET 0 => [[2, Wed, 29 Jun 2016 17:46:01 MSK +03:00], [7, Wed, 29 Jun 2016 17:46:03 MSK +03:00], [881, Fri, 08 Jul 2016 16:55:16 MSK +03:00], [886, Sun, 10 Jul 2016 15:28:43 MSK +03:00], [883, Sat, 09 Jul 2016 16:49:38 MSK +03:00], [882, Sat, 09 Jul 2016 16:47:47 MSK +03:00], [887, Sun, 10 Jul 2016 15:34:10 MSK +03:00], [877, Fri, 08 Jul 2016 16:48:24 MSK +03:00], [14, Wed, 29 Jun 2016 17:46:05 MSK +03:00], [13, Wed, 29 Jun 2016 17:46:05 MSK +03:00], [5, Wed, 29 Jun 2016 17:46:02 MSK +03:00], [381, Wed, 29 Jun 2016 17:48:47 MSK +03:00]] [3] pry(main)> @quests = Quest.order(total_rating: :desc).page(2).per(12).pluck(:id, :created_at) (1.0ms) SELECT "quests"."id", "quests"."created_at" FROM "quests" ORDER BY "quests"."total_rating" DESC LIMIT 12 OFFSET 12 => [[15, Wed, 29 Jun 2016 17:46:06 MSK +03:00], [888, Sun, 10 Jul 2016 15:41:33 MSK +03:00], [887, Sun, 10 Jul 2016 15:34:10 MSK +03:00], [32, Wed, 29 Jun 2016 17:46:11 MSK +03:00], [823, Wed, 29 Jun 2016 17:51:41 MSK +03:00], [382, Wed, 29 Jun 2016 17:48:48 MSK +03:00], [885, Sat, 09 Jul 2016 16:53:27 MSK +03:00], [24, Wed, 29 Jun 2016 17:46:08 MSK +03:00], [394, Wed, 29 Jun 2016 17:48:52 MSK +03:00], [37, Wed, 29 Jun 2016 17:46:13 MSK +03:00], [5, Wed, 29 Jun 2016 17:46:02 MSK +03:00], [54, Wed, 29 Jun 2016 17:46:19 MSK +03:00]]

вон 5й продублировал

Eugene
13.07.2016
12:56:29
"а ребята много запросов превращают в 1 большую sqlину которая быстро выполняется"

I
13.07.2016
12:56:31
да, прикольно

I
13.07.2016
12:57:31
особенно, когда нужны sum, coalesce и преобразования

Mikhail
13.07.2016
12:57:45
короче куда копать не подскажите

это не сложный запрос

почему он цепляет дублем 1-2 записи обычно

Google
I
13.07.2016
12:58:40
давай лучше Quest.where(id: 5).pluck(:id, :created_at)

выполни это)

Aldar
13.07.2016
12:58:53
Mikhail
13.07.2016
12:58:54
[4] pry(main)> Quest.where(id: 5).pluck(:id, :created_at) (0.4ms) SELECT "quests"."id", "quests"."created_at" FROM "quests" WHERE "quests"."id" = $1 [["id", 5]] => [[5, Wed, 29 Jun 2016 17:46:02 MSK +03:00]]

=)

I
13.07.2016
12:59:16
хм!

Mikhail
13.07.2016
12:59:20
айди та праймари

он не может продублироваться

ojab
13.07.2016
12:59:36
короче куда копать не подскажите
в поле по которому сортируешь неуникальные значения?

Admin
ERROR: S client not available

Mikhail
13.07.2016
12:59:43
нет

I
13.07.2016
12:59:45
Quest.order(total_rating: :desc).page(2).per(12).pluck(:id, :created_at, :total_rating)

давай так попробуем)

Mikhail
13.07.2016
12:59:53
значения не уникальные

ojab
13.07.2016
12:59:56
ну вот

pg не гарантирует стабильность сортировки

I
13.07.2016
13:00:07
и еще Quest.order(total_rating: :desc).page().per(12).pluck(:id, :created_at, :total_rating)

Mikhail
13.07.2016
13:00:36
[6] pry(main)> Quest.order(total_rating: :desc).page(0).per(12).pluck(:id, :created_at, :total_rating) (1.1ms) SELECT "quests"."id", "quests"."created_at", "quests"."total_rating" FROM "quests" ORDER BY "quests"."total_rating" DESC LIMIT 12 OFFSET 0 => [[2, Wed, 29 Jun 2016 17:46:01 MSK +03:00, 1.5], [7, Wed, 29 Jun 2016 17:46:03 MSK +03:00, 0.0], [881, Fri, 08 Jul 2016 16:55:16 MSK +03:00, 0.0], [886, Sun, 10 Jul 2016 15:28:43 MSK +03:00, 0.0], [883, Sat, 09 Jul 2016 16:49:38 MSK +03:00, 0.0], [882, Sat, 09 Jul 2016 16:47:47 MSK +03:00, 0.0], [887, Sun, 10 Jul 2016 15:34:10 MSK +03:00, 0.0], [877, Fri, 08 Jul 2016 16:48:24 MSK +03:00, 0.0], [14, Wed, 29 Jun 2016 17:46:05 MSK +03:00, 0.0], [13, Wed, 29 Jun 2016 17:46:05 MSK +03:00, 0.0], [5, Wed, 29 Jun 2016 17:46:02 MSK +03:00, 0.0], [381, Wed, 29 Jun 2016 17:48:47 MSK +03:00, 0.0]]

I
13.07.2016
13:00:56
а, ну все тогда)

добавь еще сортировку по id

Google
Mikhail
13.07.2016
13:01:12
че делать

по айди

в начале

I
13.07.2016
13:01:25
не, после

Mikhail
13.07.2016
13:01:31
ща

ojab
13.07.2016
13:01:38
да пофиг когда, на самом деле

Mikhail
13.07.2016
13:02:15
[7] pry(main)> Quest.order(id: :desc, total_rating: :desc).page(0).per(12).pluck(:id, :created_at, :total_rating) (1.2ms) SELECT "quests"."id", "quests"."created_at", "quests"."total_rating" FROM "quests" ORDER BY "quests"."id" DESC, "quests"."total_rating" DESC LIMIT 12 OFFSET 0 => [[889, Sun, 10 Jul 2016 15:43:12 MSK +03:00, 0.0], [888, Sun, 10 Jul 2016 15:41:33 MSK +03:00, 0.0], [887, Sun, 10 Jul 2016 15:34:10 MSK +03:00, 0.0], [886, Sun, 10 Jul 2016 15:28:43 MSK +03:00, 0.0], [885, Sat, 09 Jul 2016 16:53:27 MSK +03:00, 0.0], [884, Sat, 09 Jul 2016 16:52:32 MSK +03:00, 0.0], [883, Sat, 09 Jul 2016 16:49:38 MSK +03:00, 0.0], [882, Sat, 09 Jul 2016 16:47:47 MSK +03:00, 0.0], [881, Fri, 08 Jul 2016 16:55:16 MSK +03:00, 0.0], [877, Fri, 08 Jul 2016 16:48:24 MSK +03:00, 0.0], [876, Wed, 29 Jun 2016 17:52:05 MSK +03:00, 0.0], [875, Wed, 29 Jun 2016 17:52:05 MSK +03:00, 0.0]] [8] pry(main)> Quest.order(id: :desc, total_rating: :desc).page(2).per(12).pluck(:id, :created_at, :total_rating) (1.0ms) SELECT "quests"."id", "quests"."created_at", "quests"."total_rating" FROM "quests" ORDER BY "quests"."id" DESC, "quests"."total_rating" DESC LIMIT 12 OFFSET 12 => [[874, Wed, 29 Jun 2016 17:52:04 MSK +03:00, 0.0], [873, Wed, 29 Jun 2016 17:52:04 MSK +03:00, 0.0], [872, Wed, 29 Jun 2016 17:52:04 MSK +03:00, 0.0], [871, Wed, 29 Jun 2016 17:52:03 MSK +03:00, 0.0], [870, Wed, 29 Jun 2016 17:52:03 MSK +03:00, 0.0], [869, Wed, 29 Jun 2016 17:52:02 MSK +03:00, 0.0], [868, Wed, 29 Jun 2016 17:52:02 MSK +03:00, 0.0], [867, Wed, 29 Jun 2016 17:52:02 MSK +03:00, 0.0], [866, Wed, 29 Jun 2016 17:52:01 MSK +03:00, 0.0], [865, Wed, 29 Jun 2016 17:52:01 MSK +03:00, 0.0], [864, Wed, 29 Jun 2016 17:52:00 MSK +03:00, 0.0], [863, Wed, 29 Jun 2016 17:52:00 MSK +03:00, 0.0]]

хм

первый раз встретил такое

давай яды

=)

ща проверю

на пивко скину

Кøе-ктø Геннадьевич
13.07.2016
13:03:26
телеграм шалит. я ссылку 1 раз скинул, а она в трех местах появилась

в двух

Mikhail
13.07.2016
13:04:03
=> [2, 2, 2, 1, 92, 92, 92, 92, 254, 253, 252, 251, 250, 249, 248, 247, 246] [4] pry(main)> @quests = @city.quests.active.order(widget_present: :desc).order_by_total_rating_desc.order(quest_ratings_count: :desc).order(id: :desc).includes(:comment_threads, :categories).page(2).per(12).pluck(:id) SQL (2.2ms) SELECT DISTINCT "quests"."id", "quests"."widget_present" AS alias_0, "quests"."total_rating" AS alias_1, "quests"."quest_ratings_count" AS alias_2, "quests"."id" AS alias_3 FROM "quests" LEFT OUTER JOIN "comments" ON "comments"."commentable_id" = "quests"."id" AND "comments"."commentable_type" = $1 LEFT OUTER JOIN "category_quests" ON "category_quests"."quest_id" = "quests"."id" LEFT OUTER JOIN "categories" ON "categories"."id" = "category_quests"."category_id" WHERE "quests"."city_id" = $2 AND "quests"."status" = $3 ORDER BY "quests"."widget_present" DESC, "quests"."total_rating" DESC, "quests"."quest_ratings_count" DESC, "quests"."id" DESC LIMIT 12 OFFSET 12 [["commentable_type", "Quest"], ["city_id", 596], ["status", 1]] (1.0ms) SELECT "quests"."id" FROM "quests" LEFT OUTER JOIN "comments" ON "comments"."commentable_id" = "quests"."id" AND "comments"."commentable_type" = $1 LEFT OUTER JOIN "category_quests" ON "category_quests"."quest_id" = "quests"."id" LEFT OUTER JOIN "categories" ON "categories"."id" = "category_quests"."category_id" WHERE "quests"."city_id" = $2 AND "quests"."status" = $3 AND "quests"."id" IN (245, 244, 243, 242, 241, 240, 239, 238, 237, 236, 235, 234) ORDER BY "quests"."widget_present" DESC, "quests"."total_rating" DESC, "quests"."quest_ratings_count" DESC, "quests"."id" DESC [["commentable_type", "Quest"], ["city_id", 596], ["status", 1]] => [245, 245, 244, 243, 242, 241, 240, 239, 238, 237, 236, 235, 234]

ништяк

завел

чето даже не подумал что надо уник тащить.

спасибо

давай яды или че есть

Страница 191 из 1684