GROUP_CONCAT

2010.02.11. 08:10 stack

MySql-ben a szokások SUM, MIN, MAX … aggregátum függvények mellett van egy GROUP_CONCAT nevű, melynek lényege, hogy - a nevéből adódóan is - a kapott értékeket összefűzi.

SELECT oszlop1, oszlop2 FROM tabla
| 1 | 1 |
| 1 | 2 |
| 1 | 3 |
| 2 | 5 |
| 2 | 3 |
| 2 | 3 |
| 2 | 1 |
SELECT oszlop1, GROUP_CONCAT (oszlop2) FROM tabla GROUP BY oszlop1
| 1 | 1, 2, 3 |
| 2 | 5, 3, 3, 1 |

Lehetőség van a szeparátor módosítására is, illetve a sorrend átalakítására pl:

GROUP_CONCAT(DISTINCT oszlop2 ORDER BY oszlop2 ASC SEPARATOR ' ')

Szólj hozzá!

Címkék: mysql group contact

COUNT DISTINCT

2010.01.08. 18:54 stack

Ha le akarjuk kérdezni, hogy hány különböző érték van egy táblá egyik oszlopában, akkor a COUNT aggregátum függvényt kombinálhatjuk a DISTINCT záradékkal:

SELECT COUNT(DISTINCT oszlop) FROM tabla

2 komment · 1 trackback

Címkék: mysql count

WHERE col IN (v1, v2) ORDER BY col = v1 LIMIT 1

2009.09.21. 07:43 stack

Adott egy szótár tábla: szöveg az adott nyelven, nyelv kód, szöveg azonosító. Feladat, írjuk ki a „kilépés” szót egy kiválasztott nyelven, de ha úgy nem létezik a táblában, akkor angolul. Mindezt egy lekéréssel:

SELECT `text`
  FROM `dictionary`
 WHERE `label` = "exit" AND `lang` IN ("en", "hu")
 ORDER BY `lang` = "hu" DESC
 LIMIT 1

Szeretem az ilyen apró ötleteket.

Szólj hozzá!

Címkék: mysql nem extjs

LIKE BINARY

2009.05.13. 15:36 stack

MySql alapértelmezetten nem érzékeny a kis és nagybetűkre, ami néha talán még előnyös is lehet. Ám vannak esetek, amikor nem, ilyen például az azonosító és jelszó bekérése. A BINARY kulcsszó megadásával szigoríthatjuk a vizsgálatot.

SELECT 'A' LIKE 'a', 'A' LIKE BINARY 'a', 'A'= 'a', 'A' = BINARY 'a'

Az eredmény meg: 1, 0, 1, 0

Szólj hozzá!

Címkék: mysql nem extjs case sensitive

SELECT FOUND_ROWS();

2009.03.02. 10:30 stack

Valahogy mindig is a JavaScript, PHP, MySql hármasban a leggyengébb láncszem szerepét a MySql töltötte be. A komolyabb JavaScript keretrendszerek megjelenése előtt a hangsúlyt a PHP kapta, majd idővel átvette (nálam) a JavaScript, ám az sosem volt kérdés, hogy utolsó helyen a MySql áll.

Pedig vannak benne olyan lehetőségek, amelyeket érdemes kihasználni, még akkor is, ha összességében ma még nagyon messze van attól, hogy az üzleti logika egy az egyben ott legyen…

Amikor egy grid-hez elemeket gyártunk, legyártjuk az adott szakaszhoz tartozó listát, és az össz. darabszámot.

Ezt megoldhatjuk így:

SELECT ... FROM ... LIMIT ...;
SELECT COUNT(*) FROM ...;

Vagy használhatjuk a SQL_CALC_FOUND kitételt:

SELECT SQL_CALC_FOUND_ROWS ... FROM ... LIMIT ...;
SELECT FOUND_ROWS();

Gyorsabb és átláthatóbb.

3 komment

Címkék: mysql total count

ExtJS blog, mi ez?

Az ExtJS egy JavaScript keretrendszer, melyet a blog írója elfogultan a legjobbnak tart, és ez a blog olyan apróságok gyűjteménye, melyek ExtJS használata közben felmerültek, eszébe jutottak...

Címkék

ajax (4) alignto (1) állás (3) analytics (1) anchorto (1) android (4) animate (2) array (9) auto (1) back button (1) beautifier (1) beforeevent (1) benchmark (1) blur (1) budapest.js (1) button (1) canvas (1) capture (1) case sensitive (1) center (1) change (1) cikkajánló (1) class (2) closure compiler (1) collapse (1) combobox (3) comment (1) console.log (2) contextmenu (2) core (2) count (1) css (15) csv (1) dataview (1) date (4) datefield (3) datepicker (1) debug (1) doksi (1) dragdrop (1) easing (1) eclipse (1) editor (1) element (5) error (5) eval (2) event (1) fejtörő (1) field (2) fieldset (1) filter (1) firefox (4) firefox extension (2) focus (3) fonts (1) fun (1) function (1) google (2) google chrome (1) grayscale (1) grid (4) group contact (1) header (3) height (2) hidden (1) hirek (2) history (1) htaccess (1) html5 (2) htmleditor (2) https (1) icon (3) id (2) ie (2) ie6 (1) ie9 (1) iframe (3) image (2) indexof (1) javascript (1) jquery (2) jslint (2) jsmin (1) json (7) keymap (1) kipróbálom (2) könyvajánló (2) label (1) layout (1) lint (1) log (1) loop (1) magyar (2) mandelbrot (1) mask (1) math (1) maxlength (1) mistake (1) mysql (5) napi szívás (16) nem extjs (12) node (1) nth child (1) number (1) off (5) offline (1) operator (1) override (20) pagesize (1) paging (2) panel (2) php (7) picker (1) plugin (3) pozicionálás (2) preload (1) print (1) propertygrid (1) pseudo (3) readonly (2) record (1) regexp (1) replace (1) resizable (1) rotate (1) round (1) scale (1) sencha touch (2) server (1) shuffle (1) slider (1) sort (3) sortable (1) store (2) string (7) sum (1) tabchange (1) tabpanel (1) tab key (2) tdd (1) template (1) textarea (2) textfield (1) textitem (1) theme (2) throw (1) timer (1) timestamp (1) title (2) toggle (1) toolbar (6) tools (1) total count (1) transparent (1) tree (1) treenode (1) trigger (1) truncate (1) try (1) ucfirst (1) undefined (2) unique (1) unload (1) urlencode (1) utf8 (2) verzió (1) video (1) viewer (1) viewport (2) visible (2) vtype (1) window (2) xtype (1) zindex (2)

Extjs.blog.hu - RSS

Kérdés?

süti beállítások módosítása