Wszystko
Wszystkie
Archiwum
Database developer tools (MySQL)
http://www.bleachburnout.com/blog/2014/01/30/database-tools-and-such/
#php #bazydanych #webdev #mysql #sql
http://www.bleachburnout.com/blog/2014/01/30/database-tools-and-such/
#php #bazydanych #webdev #mysql #sql
Od czasu do czasu pojawiaja sie pod tagiem #programowanie , #webdev czy - rzadziej - #bazydanych pytania o to, jak sie przygotowac do rozmowy o #pracbaza
W tym artykule znajduje sie ciekawych odpowiedzi na takie pytania
Interviewing for a Database Developer
http://www.noelherrick.com/blog/interviewing-database-developer
#it #sql #mysql #oracle
W tym artykule znajduje sie ciekawych odpowiedzi na takie pytania
Interviewing for a Database Developer
http://www.noelherrick.com/blog/interviewing-database-developer
#it #sql #mysql #oracle
- normanos
- Nekron
- mazak88
- egocentryk
- konto usunięte
- +3 innych
@cycjusz157: No to sie ciesze :)
konto usunięte via Android
- 0
@msq: ale szok... wczoraj siedzę w zaciszu porcelany i przeglądam Mirko. Coś mnie tknęło, żeby wejść na "mój wykop" czego normalnie nie robię i patrzę a tam link taki ciekawy na samej górze. Ciekawy zbieg okoliczności ^^
- 3
@xSQr: ja polecam linuxpl.com
@xSQr: https://www.digitalocean.com/ korzystam z niego, zajebisty :)
#pytaniedoeksperta #python #sql #mysql
Hej, mam taki kod od jednego z uzytkownikow i chce go uzyc w mysql'u zeby porownac dwie kolumny.
def compare(a, b):
a = set(a.split())
b = set(b.split())
return '{0:.0f}%'.format(100.0*len(a.intersection(b))/len(a))
assert '100%' == compare('123 asd asd', 'asd 123')
assert '33%' == compare('a b c', 'c d e')
assert '0%' == compare('asd', 'xyz')
print compare('Leszek smieszkuje na mirko', 'na mirko Leszek smieszkuje')
Udalo mi sie napisac funkcje rozdzielajaca slowa, ale
Hej, mam taki kod od jednego z uzytkownikow i chce go uzyc w mysql'u zeby porownac dwie kolumny.
def compare(a, b):
a = set(a.split())
b = set(b.split())
return '{0:.0f}%'.format(100.0*len(a.intersection(b))/len(a))
assert '100%' == compare('123 asd asd', 'asd 123')
assert '33%' == compare('a b c', 'c d e')
assert '0%' == compare('asd', 'xyz')
print compare('Leszek smieszkuje na mirko', 'na mirko Leszek smieszkuje')
Udalo mi sie napisac funkcje rozdzielajaca slowa, ale
@entaroadun: Poszukaj na stacku, tam tego typu przypadki są już rozwalone - tylko linka nie wrzucę, bo nie pamiętam:)
@RomantycznyRoman: ok poszukam, dzięki!
- 2
- 1
http://sqlfiddle.com/#!2/de29a4/5 chcę zrobić grupowanie po id i sortowanie po imieniu, da się takie coś zrobić w tym wypadku? (2 tabele ze wspólnymi kolumnami, wyświetlone jako jedna, i tam grupowanie i sortowanie)
#sql #mysql nie za bardzo #programowanie
#sql #mysql nie za bardzo #programowanie
@enef: Ale grupowanie dziala tylko z funkcajmi agregujacymi - SUM(), MAX(), AVG() i tak dalej.
Poza tym cochcesz osiagnac robiac UNION dwoch takich samych zapytan?
EDIT: A teraz widze ze to dodwoch roznych tabel :)
Co nie zmienia faktu ze takie 'grupowanie' nei ma wiekszego sensu.
Poza tym cochcesz osiagnac robiac UNION dwoch takich samych zapytan?
EDIT: A teraz widze ze to dodwoch roznych tabel :)
Co nie zmienia faktu ze takie 'grupowanie' nei ma wiekszego sensu.
@enef: Niezupelnie....
To jest taki 'feature' mysqla, raczej niezdrowy....
http://dev.mysql.com/doc/refman/5.0/en/group-by-extensions.html
I to co sie pokazuje w innych kolumnach przy takim zastosowaniu jest losowe :) Jesli dobrze rozumiem dokumnetacje:
The server is free to choose any value from each group, so unless they are the same, the values chosen are indeterminate. Furthermore, the selection of values from each group cannot be influenced by adding an ORDER BY clause
Co chcesz osiagnac?
To jest taki 'feature' mysqla, raczej niezdrowy....
http://dev.mysql.com/doc/refman/5.0/en/group-by-extensions.html
I to co sie pokazuje w innych kolumnach przy takim zastosowaniu jest losowe :) Jesli dobrze rozumiem dokumnetacje:
The server is free to choose any value from each group, so unless they are the same, the values chosen are indeterminate. Furthermore, the selection of values from each group cannot be influenced by adding an ORDER BY clause
Co chcesz osiagnac?
- 1
#mysql #programowanie #pomocy #kiciochpyta
Ktoś pomoże napisać mi zapytanie?
Mam tabelę wyglądającą tak:
https://dl.dropboxusercontent.com/u/19585201/wykop/tabela1.PNG
A chcę żeby to wyglądało tak:
https://dl.dropboxusercontent.com/u/19585201/wykop/tabela2.PNG
Czyli chodzi o to, żeby dla każdej gruby IDProduktu ponumerowało mi kolejno kolumny IDMagazynu zaczynając od 1.
Próbowałem różnych sposobów i nawet całe stackoverflow przeszukałem ale nie znalazłem sposobu na to :<
Jak to zrobić nie wiem.
Ktoś pomoże napisać mi zapytanie?
Mam tabelę wyglądającą tak:
https://dl.dropboxusercontent.com/u/19585201/wykop/tabela1.PNG
A chcę żeby to wyglądało tak:
https://dl.dropboxusercontent.com/u/19585201/wykop/tabela2.PNG
Czyli chodzi o to, żeby dla każdej gruby IDProduktu ponumerowało mi kolejno kolumny IDMagazynu zaczynając od 1.
Próbowałem różnych sposobów i nawet całe stackoverflow przeszukałem ale nie znalazłem sposobu na to :<
Jak to zrobić nie wiem.
- 2
@lewactwo: Nie mam już za bardzo czasu, ale zobacz sobie na przykład implementacji odpowiednika T-SQLowego ROW_NUMBER() dla MySQL: http://www.explodybits.com/2011/11/mysql-row-number/
Powinno Ci to zliczyć wiersze dla zdefiniowanego ich zgrupowania.
Powinno Ci to zliczyć wiersze dla zdefiniowanego ich zgrupowania.
- 1
@Santeria: requestów
- 12
@Santeria: PDO
- login_zajety_sic
- handler
- MacDada
- Potfur
- konto usunięte
- +7 innych
- 1
Pożyczam sobie RAM z bazy danych, używając ArrayAccess, Iterator i create temporary table - i do tego utrzymując pełną kompatybilność kodu :)
#php #mysql #programowanie
#php #mysql #programowanie
@singollo: naprawde tak to dziala i nie jest to ani przez moment na dysku? Do tego dochodzi jeszcze sieć. Jak duzo wolniej to dziala od zwyczajnej pamięci?
- 0
Ciężko tak naprawdę powiedzieć, choć oczywiście jest znacznie, znacznie wolniejsze niż natywne. tabela tymczasowa ma engine=memory. Sam report generuje się kilkanaście sekund (a czasami ponad minutę), więc istotne spowolnienie nie jest tak naprawdę bardzo odczuwalne :)
Dzisiaj już nie zdążę zrobić żadnych pomiarów, ale na pewno to zbadam :)
... w zasadzie ten kod, po niewielkich zmianach, można by upublicznić ...
Dzisiaj już nie zdążę zrobić żadnych pomiarów, ale na pewno to zbadam :)
... w zasadzie ten kod, po niewielkich zmianach, można by upublicznić ...
- 3
Ciekawostka:
SELECT * FROM tabelka WHERE nazwa LIKE '%';
i
SELECT * FROM tabelka;
dają te same rezultaty - ale totalnie różne czasy wykonania. Różnica dla tabeli z 500k rekordów: 2 sekundy vs 0.13 sekundy
A wydawałoby się, że optymalizator powinien wyłapać, że nazwa LIKE '%' jest zawsze prawdziwe i zignorować ten warunek...
#mysql #sql #programowanie
SELECT * FROM tabelka WHERE nazwa LIKE '%';
i
SELECT * FROM tabelka;
dają te same rezultaty - ale totalnie różne czasy wykonania. Różnica dla tabeli z 500k rekordów: 2 sekundy vs 0.13 sekundy
A wydawałoby się, że optymalizator powinien wyłapać, że nazwa LIKE '%' jest zawsze prawdziwe i zignorować ten warunek...
#mysql #sql #programowanie
Mam skrypt, który uaktualnia tabelę mysql na podstawie informacji z dogeapi.com. Proste. Później na podstawie danych z mysqla generowana jest treść na stronę. Jednak sprawdzanie zawartości stanu portfela przez api trwa długo i obawiam się, że przy dużej bazie userów 30 sekund to będzie za mało na dokończenie działania skryptu :P Jakieś wskazówki jak to zoptymalizować?
while($r = mysql*fetch*assoc($wynik)) {
$dogeapi = $doge->get*address*received(array('payment*address' => $r['address'])); //sprawdzam ile dogecoinow
if(mysql*num*rows($wynik) > 0) {
while($r = mysql*fetch*assoc($wynik)) {
$dogeapi = $doge->get*address*received(array('payment*address' => $r['address'])); //sprawdzam ile dogecoinow
Mireczki mamy tu jakiegoś szpeca od MS Access? Jestem zmuszony utrzymywać w pracy bazę, którą ktoś kiedyś zrobił i teraz przy każdej zmianie czegoś na serwerach odbija mi się to czkawką, bo wiecznie coś się w niej sypie... Krótko: Mam bazę MySQL utrzymywaną na serwerze. Na niektórych stacjach mam poinstalowane sterowniki ODBC do tej bazy MySQL. Użytkownik otwiera plik .mdb, ma tam utworzony interfejs do zmiany wartości w tabelach bazy, drukowania kopert
@tomix: O matko faktycznie, teraz patrzę. Jutro coś z tym pogrzebię dzięki.
@tomix: Ok udało mi się jakoś podłączyć te tabele na nowych adresach serwera, ale wyskakuje mi teraz Błąd przy próbie zamknięcia "Konflikt zapisu". Spotkałeś się już może z tym? Póki co to szukam w googlach :<
Wcześniej oczywiście nic takiego się nie pojawiało.
Wcześniej oczywiście nic takiego się nie pojawiało.
- 5
- 2
[ #mysql #sql ]
mirki, z sql zazwyczaj nie mam problemu, ale chyba utkąłem.
w tabeli są dwie kolumny: godzina [time] i liczba [int]. pytanie: jak pogrupować dane po godzinie do dwóch stref czasowych 00:00:00 - 11:00:00 i 12:00:00 - 23:00:00 żeby zliczyć sumę liczb w obu tych zakresach godzin? przyświeca mi idea z podzapytaniem w leftjoin do samej sobie, ale skomplikowanie rozwiązania znacznie przewyższa wartość "projektu" ;)
mirki, z sql zazwyczaj nie mam problemu, ale chyba utkąłem.
w tabeli są dwie kolumny: godzina [time] i liczba [int]. pytanie: jak pogrupować dane po godzinie do dwóch stref czasowych 00:00:00 - 11:00:00 i 12:00:00 - 23:00:00 żeby zliczyć sumę liczb w obu tych zakresach godzin? przyświeca mi idea z podzapytaniem w leftjoin do samej sobie, ale skomplikowanie rozwiązania znacznie przewyższa wartość "projektu" ;)
@tomix: Przy takim przyroście to bez różnicy - każde rozwiązanie będzie dobre - i union i case. Ewentualnie możesz zrobić triggera on insert, który będzie ustawiał z automatu strefę czasową - odpytanie takiego widoku będzie szybsze (o ułamki sekund - mając na uwadze liczbę danych) i przeniesiesz kod na tabele. Ale to bardziej sztuka dla sztuki.
BTW - zamiast rozpisywać drugiego whena w case, możesz zrobić else.
BTW - zamiast rozpisywać drugiego whena w case, możesz zrobić else.
- 1
@RomantycznyRoman: @tomix: @StaryHipopotam: Jaki UNION? GROUP BY godzina > '11:00:00' działa, można w GROUP BY zastosować też CASE jak coś bardziej skomplikowanego.
W projekcie przechowuję dużo małych obrazków (powiedzmy że ikon) tworzonych przez użytkowników. Jest ich nawet po kilkadziesiąt na usera, wymiary ok 100x60px, format png, zajmują po kilka-kilkanaście KB.
Na początku trzymałem je w plikach, ale żeby zmniejszyć liczbę requestów zapisuję je jako base64. Obecnie trzymam to wszystko w bazie (tzn zakodowane base64, nie pliki :)), ale obawiam się, że wraz ze wzrostem liczby uzytkowników baza może tego nie przeżyć, tym bardziej, że
Na początku trzymałem je w plikach, ale żeby zmniejszyć liczbę requestów zapisuję je jako base64. Obecnie trzymam to wszystko w bazie (tzn zakodowane base64, nie pliki :)), ale obawiam się, że wraz ze wzrostem liczby uzytkowników baza może tego nie przeżyć, tym bardziej, że
baza może tego nie przeżyć, tym bardziej, że jest to #mysql
@paffnucy: Bueh ehe he heee.... Taki duzy a takie rzeczy wygaduje :)
Co byście radzili, w jaki sposób przechowywać takie dane?
@paffnucy: System plikow.
http://stackoverflow.com/questions/3748/storing-images-in-db-yea-or-nay
Eventualnie nosql db do samych obrazkow. Jesli zalezy Ci na predkosci i masz duzo ramu to mozesz korzystac z prostego cache z uzyciem ram dysku.
- 2
@paffnucy: to nie sprawiłoby problemu. wygenerowane klasy css są stałe. zmieniałaby się tylko kolejność ich przypisania do poszczególnych divów
- 25
Fajna grafika pokazująca jaki zbiór danych otrzymamy po użyciu konkretnego joina
#php #programowanie #mysql #sql
#php #programowanie #mysql #sql
- anonim1133
- psychob
- rationalistic
- Tacocat
- lolokolo
- +20 innych
10 Easy Steps to a Complete Understanding of SQL - czyli dlaczego aliasu wyrażenia nie zawsze można użyć w klauzuli WHERE i inne opowiadania.
http://tech.pro/tutorial/1555/10-easy-steps-to-a-complete-understanding-of-sql
#bazydanych #sql #mysql i wierzę że niektórym obserwującym #pogramowanie i #webdev tż się może pzydać
http://tech.pro/tutorial/1555/10-easy-steps-to-a-complete-understanding-of-sql
#bazydanych #sql #mysql i wierzę że niektórym obserwującym #pogramowanie i #webdev tż się może pzydać
- konto usunięte
- konto usunięte
- konto usunięte
- cinoo
- singollo
- +3 innych
SELECT YEAR(data) AS RokSprzedazy, COUNT(fakturaID) AS IloscDokumentow FROM faktury GROUP BY RokSprzedazy HAVING RokSprzedazy BETWEEN 2006 AND 2008
@singollo: W Mysql tak - dlatego tez....
Note that MySQL, unfortunately, doesn't adhere to this standard, causing nothing but confusion. Don't fall for MySQL's tricks. GROUP BY transforms table references. You can thus only reference columns also referenced in the GROUP BY clause.
W oraclu takie zapytanie
select (salary + 1) as SAL
- 0
You can thus only reference columns also referenced in the GROUP BY clause.
@msq: To nie jest do końca prawdziwe, nie trzeba pakować wszystkich kolumn które wybierasz do GROUP BY, SELECT a1, a2, max(b1) from a JOIN b ON (....) GROUP BY a1 może być całkowicie poprawne nawet poza MySQL
- 1
- 1
Treść została ukryta...
konto usunięte via Android
- 5
@Onoki: hint: new. old.
@ to zmienna, do wartosci kolumn odwolujesz sie uzywajac new.nazwakolumny lub old.nazwakolumny
new. jest dostepne przy insertach i updaejtach (nowa wartosc kolumny)
old. jest dostepne przy updejtach i delete (stara wartosc kolumny.
w odpowiedniej linii zamien to co masz na
SET new.wartosc = new.wartosc * 0.9;
@ to zmienna, do wartosci kolumn odwolujesz sie uzywajac new.nazwakolumny lub old.nazwakolumny
new. jest dostepne przy insertach i updaejtach (nowa wartosc kolumny)
old. jest dostepne przy updejtach i delete (stara wartosc kolumny.
w odpowiedniej linii zamien to co masz na
SET new.wartosc = new.wartosc * 0.9;
Zna ktoś jakieś podobne rozwiązania z filtrowaniem produktów jak tutaj?
#php #mysql #programowanie #cokolwiek ?
#php #mysql #programowanie #cokolwiek ?
Analyzing #wordpress #mysql queries with Query Analytics
http://www.mysqlperformanceblog.com/2014/01/16/analyzing-wordpress-mysql-queries-query-analytics/
#webdev #bazydanych #mysql
http://www.mysqlperformanceblog.com/2014/01/16/analyzing-wordpress-mysql-queries-query-analytics/
#webdev #bazydanych #mysql




















Załóƶmy, ƶe mam tablicę z kolumnami
fooi
bar. Chciałbym policzyć średnie wartości dla kaƶdej unikalnej wartości
foo. Umiem to zrobić wymieniając explicite wszystkie wartości, które mnie interesują, ale chciałbym, ƶeby to się automatycznie generowało.
Dla lepszego zobrazowania sytuacji, to jest to czego chcę uniknąć (ale daje wyniki poprawne):
SELECT
```**```
``````
(
```**```
SELECT
```**```
```**```
http://pastebin.com/HLyv2Md6