Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Mnożenie w limicie
Destrudo
post
Post #1





Grupa: Zarejestrowani
Postów: 74
Pomógł: 0
Dołączył: 10.10.2011

Ostrzeżenie: (0%)
-----


Hej,

Mam takie rekordy w bazie:

xxxx
xxxx
yyyy

czyli 2 są takie same i 1 inny, w sumie 2 różne.

Potrzebuję zrobić zapytanie w stylu (poglądowo): select x,y from tabela order by data desc limit (ilość różnych rekordów czyli 2*30) i nie bardzo mam pomysł jak takie coś zrobic. Ma ktoś może pomysł?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 807
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


javafxdev,
nie do końca, bo miały to być rekordy sortowane według daty, a nie po prostu top/last z grupy.

  1. CREATE TABLE `xy` (
  2. `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
  3. `x` VARCHAR(255) NOT NULL,
  4. `data` DATE NULL DEFAULT NULL,
  5. PRIMARY KEY (`id`)
  6. )
  7.  
  8. INSERT INTO `xy` VALUES (1, 'xxx', '2016-01-01');
  9. INSERT INTO `xy` VALUES (2, 'yyy', '2016-01-02');
  10. INSERT INTO `xy` VALUES (3, 'xxx', '2016-01-03');
  11. INSERT INTO `xy` VALUES (4, 'yyy', '2016-01-04');
  12. INSERT INTO `xy` VALUES (5, 'xxx', '2016-01-05');
  13. INSERT INTO `xy` VALUES (6, 'yyy', '2016-01-06');
  14. INSERT INTO `xy` VALUES (7, 'xxx', '2016-01-07');
  15. INSERT INTO `xy` VALUES (8, 'yyy', '2016-01-08');
  16. INSERT INTO `xy` VALUES (9, 'xxx', '2016-01-09');
  17. INSERT INTO `xy` VALUES (10, 'yyy', '2016-01-10');
  18. INSERT INTO `xy` VALUES (11, 'xxx', '2016-01-11');
  19. INSERT INTO `xy` VALUES (12, 'xxx', '2016-01-12');
  20. INSERT INTO `xy` VALUES (13, 'zzz', '2016-01-13');
  21. INSERT INTO `xy` VALUES (14, 'zzz', '2016-01-14');


5 rekordów z każdej grupy sortowane według daty desc:
  1. SELECT x3.x,x3.DATA FROM (SELECT x1.*, (SELECT COUNT(*) FROM xy AS x2 WHERE x1.data<=x2.DATA AND x1.x=x2.x) AS wiersz FROM xy AS x1) x3
  2. WHERE wiersz <=5 ORDER BY x, DATA DESC;
Go to the top of the page
+Quote Post

Posty w temacie
- Destrudo   Mnożenie w limicie   8.02.2017, 16:46:42
- - trueblue   A mógłbyś wyjaśnić czemu potrzebny jest ten limit?...   8.02.2017, 17:09:17
- - Destrudo   Przykładowo podałem bazę, rekordów ja tam mam okoł...   8.02.2017, 17:17:08
- - nospor   Wystarczy ze bedziesz mial pod rzad 59 xxxx i 1 yy...   8.02.2017, 17:20:21
- - Destrudo   w sumie masz rację. to jakby to rozwiązać? chocia...   8.02.2017, 17:21:18
- - javafxdev   jaki to problem ma rozwiązywać? bo wygląda że trze...   8.02.2017, 17:29:09
- - Destrudo   powinno mi pokazać ostatnie 30 rekordow z bazy dan...   8.02.2017, 17:31:27
- - nospor   Cytatchociaż czekaj, 59x i 1y, to 2 różne, a wiec ...   8.02.2017, 17:34:27
- - Destrudo   fakt chodzi mi generalnie o to, żeby nie tyle po ...   8.02.2017, 17:36:25
- - nospor   Cytatżeby nie tyle po 30, co maksymalnie 30 z każd...   8.02.2017, 17:37:04
- - Destrudo   Widzę właśnie To jakby to rozwiąząć?   8.02.2017, 17:39:24
- - nospor   Wpierw pobierasz wszystkie rozne xxxx yyyyy. SELEC...   8.02.2017, 17:43:57
- - Destrudo   a jeśli nie znam xxxxx i yyyy? tzn bedzie tyle roz...   8.02.2017, 17:45:52
- - javafxdev   zrób correlated subquery   8.02.2017, 17:47:59
- - nospor   Dlatego napisalem CytatWpierw pobierasz wszystkie ...   8.02.2017, 17:48:13
- - Destrudo   Jednak nie rozumiem :/ mógłbyś podać poglądowy prz...   8.02.2017, 18:34:17
- - javafxdev   nie słuchaj nospora - zrób correlated subquery ta...   8.02.2017, 20:19:12
- - trueblue   javafxdev, nie do końca, bo miały to być rekordy s...   8.02.2017, 21:15:53
- - javafxdev   ja bym się pokusił jeszcze w Twoim przykładzie zeb...   8.02.2017, 21:32:09
- - Destrudo   Dziękuje, działa fajnie, tylko jak np pokazuje mi:...   9.02.2017, 08:36:10
- - trueblue   Jak wygląda ORDER BY w zapytaniu?   9.02.2017, 08:59:45
- - nospor   Cytatnie słuchaj nospora - zrób correlated subquer...   9.02.2017, 09:46:05
- - javafxdev   Załóżmy, że różnych (x,y,z.....) mamy 50 po 10 w k...   9.02.2017, 10:04:01
- - nospor   Dlatego powiedzialem by uzyc union. Wowczas masz d...   9.02.2017, 10:08:12
- - javafxdev   jak napiszesz kawałek kodu, który robi to Twoją me...   9.02.2017, 10:15:51
- - nospor   OK, specjalnie dla ciebie odpalilem te wasze cudo....   9.02.2017, 10:31:15


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.10.2025 - 03:16