Ang kasaysayan ng Konevskaya Icon ng Ina ng Diyos ay nagsimula nang malayo sa mga hangganan ng mundo...
![Konevskaya Icon ng Ina ng Diyos: paglalarawan, mga kagiliw-giliw na katotohanan at mga pagsusuri](https://i1.wp.com/fb.ru/misc/i/gallery/43643/1379035.jpg)
Tandaan: superstructure kapangyarihan query inaalok sa Excel 2016 bilang isang pangkat ng mga utos I-download at i-convert. Nalalapat ang impormasyon sa artikulong ito sa Power Query at sa bagong pangkat. Tingnan ang tampok na I-download at I-convert sa Excel 2016 para sa higit pang impormasyon.
Sa pagpapatakbo ng Power Query Idagdag lumilikha ng bagong query na naglalaman ng lahat ng mga row mula sa unang query at pagkatapos ay ang lahat ng mga row mula sa pangalawang query.
Paalala sa kaligtasan: Mga antas ng privacy maiwasan ang hindi sinasadyang pagsasama-sama ng data mula sa maraming mapagkukunan, na maaaring pribado o organisasyon. Kapag gumagamit ng ilang query, maaaring hindi sinasadyang magpadala ang user ng data mula sa isang pribadong data source patungo sa isa pang data source. Ang pagkakataong ito ay maaaring samantalahin ng mga umaatake. Sinusuri ng Power Query ang bawat data source at tinutukoy ang antas ng privacy nito: pampubliko, organisasyon, at pribado. Para sa higit pang impormasyon tungkol sa mga antas ng privacy, tingnan ang artikulo sa Mga antas ng privacy.
Maaari kang magsagawa ng add operation ng dalawang uri: intermediate na karagdagan o built-in na karagdagan. Gamit intermediate na karagdagan ang isang bagong query ay nilikha para sa bawat add operation. Sa built-in na karagdagan magdagdag ka ng data sa isang umiiral na query hanggang sa maabot mo ang huling resulta. Ang resulta ay isang bagong hakbang sa dulo ng kasalukuyang kahilingan.
Built-in na karagdagan
Intermediate na karagdagan
Tandaan: Editor ng Query ipinapakita lamang kapag nag-a-upload, nag-e-edit o gumagawa ng bagong query gamit kapangyarihan query. Ipinapakita ng video ang bintana editor ng query Ang lalabas pagkatapos mong mag-edit ng query sa isang Excel workbook. Upang tingnan editor ng query nang hindi naglo-load o binabago ang isang umiiral nang query sa workbook, sa seksyon Pagkuha ng panlabas na data sa tab na ribbon kapangyarihan query pumili Mula sa iba pang mapagkukunan > Empty request. Ang video ay nagpapakita ng isang paraan upang ipakita editor ng query.
".
Marahil ang mga lalaki mula sa tanggapan ng Moscow ay walang oras, kaya magkakaroon pa ng libreng pagsasalin ng Query Language Reference (Bersyon 0.7).
Google Visualization API. Wika ng Query (Bersyon 0.7)
Ang Google Visualizations API query language ay nagbibigay-daan sa iyong manipulahin ang data sa pamamagitan ng isang query laban sa isang data source.
var query = bagong google.visualization.Query(DATA_SOURCE_URL);Maaaring idagdag ang string ng query sa data source gamit ang parameter tq. Kaya, posibleng gumamit ng mga visualization na isinulat ng ibang mga developer, sa pamamagitan lang ng pagsasaayos ng iyong dataset.
query.setQuery("select dept, sum(suweldo) group by dept");
query.send(handleQueryResponse);
piliin ang%20A%2C%20sum(B)%20group%20by%20AIpagpalagay natin na ang address ng Data Table ay ang sumusunod:
http://spreadsheets.google.com/a/google.com/tq?key=ABCDEPagdaragdag ng Parameter ng Query &tq=YOUR_QUERY_STRING sa link sa Table at kunin ang natapos na string ng query
http://spreadsheets.google.com.ph/a/google.com/tq?key=ABCDE&tq=select%A%2C%20sum(B)%20group%20by%20A
pangalan string |
departamento string |
oras ng tanghalian oras ng araw |
suweldo |
hireDate petsa |
edad numero |
aySenior boolean |
seniorityStartTime datetime |
---|---|---|---|---|---|---|---|
John | Sinabi ni Eng | 12:00:00 | 2005-03-19 | 35 | totoo | 2007-12-02 15:56:00 | |
Dave | Sinabi ni Eng | 12:00:00 | 2006-04-19 | 27 | mali | wala | |
Sally | Sinabi ni Eng | 13:00:00 | 2005-10-10 | 30 | mali | wala | |
Ben | Benta | 12:00:00 | 2002-10-10 | 32 | totoo | 2005-03-09 12:30:00 | |
Dana | Benta | 12:00:00 | 2004-09-08 | 25 | mali | wala | |
Mike | Marketing | 13:00:00 | 2005-01-10 | 24 | totoo | 2007-12-30 14:40:00 |
Operator | Paggamit |
---|---|
pumili | Pinipili kung aling mga column ang ibabalik at sa anong pagkakasunud-sunod. Kung aalisin ang operator, ibabalik ang lahat ng column ng talahanayan. |
Ibinabalik lamang ang mga row ng talahanayan na tumutugma sa kundisyon. Kung ang operator ay tinanggal, ang lahat ng mga hilera ng talahanayan ay ibabalik. | |
pangkat sa pamamagitan ng | Ipangkat ang mga halaga ayon sa hilera. |
pivot | Kino-convert ang mga natatanging halaga sa mga column sa mga bagong column tulad ng pivot table. |
Iniutos ni | Pinagbukud-bukod ang mga hilera batay sa mga halaga. |
limitasyon | Itinatakda ang limitasyon ng mga row na ibabalik. |
offset | Nilaktawan ang tinukoy na bilang ng mga linya mula sa output. |
label | Nagtatakda ng mga label para sa mga column. |
pormat | I-format ang mga halaga sa ibinigay na mga column ayon sa mga pattern ng pag-format. |
mga pagpipilian | Nagtatakda ng mga karagdagang opsyon. |
mula sa | Ang mula sa operator ay hindi ginagamit. |
piliin *email addresspetsa):
piliin ang dept, suweldo
piliin ang max (suweldo)
oras ng tanghalian | pangalan |
---|---|
12:00:00 | John |
12:00:00 | Dave |
13:00:00 | Sally |
12:00:00 | Ben |
12:00:00 | Dana |
13:00:00 | Mike |
Ang where clause ay gumagamit din ng mga karagdagang operator para sa mas kumplikadong paghahambing ng string. Ang mga operator na ito ay kumukuha ng dalawang argumento, na dapat ay mga string, anumang hindi string na argumento (petsa, numero) ay iko-convert sa string bago ang paghahambing. Ang paghahambing ay case-sensitive (upang maayos ang feature na ito, gamitin ang scalar functions upper(), lower()).
naglalaman ng - substring na tugma. Magbabalik ng true ang expression kung ang bahagi ng string ay ganap na tumutugma sa ibinigay na argumento - isang substring. Halimbawa, kung saan ang pangalan ay naglalaman ng "John" ay babalik "John", "John Adams", "Long John Silver" pero hindi "john adams".
piliin *Ipinapakita ng sumusunod na halimbawa ang paggamit ng mga sanggunian sa mga identifier na may mga puwang ( email address) at sa mga identifier na tumutugma sa mga pangalan ng mga nakalaan na salita ( petsa):
piliin ang dept, suweldo
piliin ang max (suweldo)
piliin ang `email address`, pangalan, `petsa`Ilapat natin ang sumusunod na query sa halimbawang talahanayan:
oras ng tanghalian | pangalan |
---|---|
12:00:00 | John |
12:00:00 | Dave |
13:00:00 | Sally |
12:00:00 | Ben |
12:00:00 | Dana |
13:00:00 | Mike |
Sa artikulong ito, matututuhan natin magpadala ng mga query sa database sa pamamagitan ng PHP. Napakahalaga ng artikulong ito at kailangan mong maunawaan ito. Gayunpaman, sisiguraduhin ko sa iyo - ang materyal ay napaka-simple, kaya dapat walang mga paghihirap.
Bago lumipat sa paksa ng artikulo, binabalaan kita nang maaga na hindi ko susuriin nang detalyado wika ng SQL. Ang lahat ng kinakailangang impormasyon ay pinagsunod-sunod sa kategoryang nakatuon sa, at dito lang kami nagtatrabaho sa MySQL sa pamamagitan ng PHP.
Ngayon ay lumipat tayo sa pagpapadala ng mga query sa database sa PHP:
}
$mysqli->query("INSERT INTO mytable (pangalan, email) VALUES ("MyName", " [email protected]")");
$mysqli->close();
?>
Sa halimbawang ito, nakakonekta kami sa database, nasuri na matagumpay ang koneksyon, nagpadala ng kahilingan gamit ang pamamaraan tanong(), at pagkatapos ay isinara ang koneksyon. Tulad ng nakikita mo, ang lahat ay napaka-simple. Upang magpadala ng anuman Mga query sa SQL isang paraan lang ay sapat na - tanong(), kaya sa kasong ito ang lahat ay sobrang simple.
Ngayon pasimplehin natin ng kaunti ang gawain. Tingnan natin ang mga tanong na bumabalik resulta_set- resulta. Pinakatanyag na query na bumabalik resulta_set ay isang seleksyon ng data mula sa isang talahanayan. Sa sumusunod na halimbawa, gagawa kami ng seleksyon ng data, at pagkatapos ay ipapakita ang resulta:
$mysqli = @new mysqli("localhost", "Admin", "pass", "mybase");
kung (mysqli_connect_errno()) (
echo "Nabigo ang koneksyon: ".mysqli_connect_error();
}
$result_set = $mysqli->
habang ($row = $result_set->fetch_assoc()) (
print_r($row);
echo"
";
}
$result_set->close();
$mysqli->close();
?>
Una, hayaan mo akong ipaliwanag nang kaunti kung ano ito. resulta_set. resulta_set ay isang talahanayan na may resulta. Ang talahanayang ito ay may isang hanay ng mga talaan (mga hilera ng talahanayan). At upang ipakita ang lahat ng mga tala, kailangan mong umulit sa bawat hilera ng talahanayan at ipakita ito. At ngayon ipinapaliwanag ko ang isang halimbawa: pagkatapos magpadala ng isang kahilingan, bumubuo kami resulta_set. Pagkatapos ay nagtalaga kami sa isang variable sa isang loop hilera ang halaga ng susunod na row, iyon ay, isang one-dimensional array na ibinabalik ng pamamaraan fetch_assoc(). Kapag ang lahat ng mga linya ay tapos na, ang pamamaraan fetch_assoc() babalik mali, at lalabas ang loop. Sa loob ng loop habang output lang namin ang array gamit ang debug function print_r(), bagama't tiyak na mahihinuha gamit ang foreach ngunit hindi ito kailangan ngayon.
Isa-ikli natin kung paano gumawa ng resulta_set:
Tulad ng nakikita mo, ang pamamaraan fetch_assoc() ibinabalik palagi ang susunod na record. Iyon ay, una ang 1st, pagkatapos ay ang 2nd, pagkatapos ay ang 3rd at iba pa. Kung mayroon kang mahusay na karanasan sa programming, pagkatapos ay mahulaan mo kaagad na ito ay dahil sa panloob na pointer, na maaari mong, siyempre, ilipat. Saan ito ginagamit? Halimbawa, maaari itong gamitin kapag kailangan mong magtrabaho kasama resulta_set Hindi 1 , A 2 at mas maraming beses. Upang hindi muling mabuo ang parehong kahilingan, maaari mo lamang ilipat ang pointer sa simula. At pagkatapos ay maaari mo itong gawin muli resulta_set gamit ang fetch_assoc() na paraan.
Mayroong isang paraan upang baguhin ang posisyon ng pointer data_seek(), na kumukuha ng integer mula sa 0 bago" bilang ng mga entry - 1", ayon sa pagkakabanggit, ang pointer ay tumataas sa entry na naaayon sa parameter:
$mysqli = @new mysqli("localhost", "Admin", "pass", "mybase");
kung (mysqli_connect_errno()) (
echo "Nabigo ang koneksyon: ".mysqli_connect_error();
}
$result_set = $mysqli->query("SELECT * FROM mytable");
$result_set->num_rows;
habang ($row = $result_set->fetch_assoc()) (
print_r($row);
echo"
";
}
$result_set->data_seek(0);
habang ($row = $result_set->fetch_assoc()) (
print_r($row);
echo"
";
}
$result_set->close();
$mysqli->close();
?>
Sa halimbawang ito, kinuha namin bilang ng mga entry sa result_set gamit ang ari-arian num_rows. Nakilala rin namin ang pamamaraan data_seek(). Iyon ay, inuulit namin ang buong resulta, pagkatapos ay ibabalik ang isang pointer sa ika-0 itala at muling inayos ang resulta.
Sa artikulong ito, inulit namin ang koneksyon sa database at isinara ang koneksyon. At nalaman din paano magpadala ng mga query sa database sa pamamagitan ng php. natutunan, paano makakuha ng result_set at kung paano ito gagawin. Iyon lang ang kailangan mong malaman para maging matagumpay nagtatrabaho sa MySQL sa PHP.
Sa palagay ko narinig na ng lahat ang tuntunin ng Pareto. Sa anumang larangan, 20% ng mga pagsisikap ay nagbibigay ng 80% ng mga resulta. Halimbawa, 20% ng iyong wardrobe ang isinusuot mo sa 80% ng oras, 20% ng iyong mga customer ang nagdadala ng 80% ng kita. Ito ay pareho sa Google Sheets: alam ang 20% ng mga umiiral na function, maaari mong malutas ang 80% ng lahat ng posibleng mga gawain.
Itinuturing kong isa ang Query sa mga pinakakapaki-pakinabang na feature ng Google Sheets. Ngunit sa tulong ng Google, ito ay inilarawan nang napakababaw, at ang buong kapangyarihan ng pagpapaandar na ito ay hindi isiniwalat. Sa isang mas detalyadong kakilala, nagiging malinaw na nagagawa nitong palitan ang karamihan sa mga umiiral na function.
Upang gumana sa QUERY kakailanganin mo ng pangunahing kaalaman sa SQL. Para sa mga hindi nakakaalam, huwag matakot, ang QUERY function ay talagang sumusuporta sa pinakapangunahing mga tampok ng SQL.
Para sa maximum na perception ng karagdagang impormasyon, iminumungkahi kong buksan at kopyahin ang sumusunod na Google Spreadsheet
Mayroong ilang mga sheet sa dox na kakagawa mo lang ng kopya. Ang DB sheet ay ang database na aming ia-access gamit ang QUERY function. Ang mga Level sheet ay naglalaman ng mga halimbawang titingnan natin sa artikulong ito. Sa bawat bagong antas, ang halimbawa ay magiging mas mahirap.
Ang anumang query sa SQL ay binubuo ng hiwalay na mga bloke, na kadalasang tinatawag na mga paninirang-puri. Ang SQL para sa Query function ay batay sa Google Visualization API Query Language syntax, na sumusuporta sa mga sumusunod na clause:
Pumunta tayo sa Level_1 sheet at tingnan ang formula sa cell A1.
Query(DB!A1:L1143;"select * limit 100")
Bahagi ng formula" DB!A1:L1143" ay responsable para sa database kung saan gagawa kami ng pagpili. Ikalawang bahagi" piliin ang * limit 100» naglalaman ng mismong text ng kahilingan. Ang simbolo na "*" sa kasong ito ay nangangahulugang ibalik ang lahat ng mga patlang na nakapaloob sa database. Sa pamamagitan ng paggamit ng " limitasyon 100» nililimitahan namin ang output sa maximum na 100 row. Ito ay isang halimbawa ng pinakasimpleng kahilingan. Pinili namin ang unang 100 row mula sa database. Ito ay uri ng "Hello world" para sa Query function.
Pumunta sa sheet Level_2. Piliin lamang natin ang ilan sa mga field na kailangan natin at itakda ang mga kundisyon sa pag-filter at pag-uuri. Halimbawa, gumagamit lang kami ng data para sa mga campaign na Campaign_1 at Campaign_2 para sa panahon ng Oktubre 22-25, 2015. Pagbukud-bukurin natin ang mga ito sa pababang pagkakasunud-sunod ayon sa kabuuan ng mga session. Para sa pag-filter at pag-uuri, kailangan mong magdagdag ng isang paglalarawan ng paninirang-puri sa teksto ng query saan At utos. Upang ipakita ang halimbawang inilarawan sa itaas sa resultang talahanayan, kailangan namin ang mga field ng Campaign, Petsa, at Mga Session. Sila ang kailangang mailista sa paninirang-puri Pumili.
Ang mga patlang ng database ay ina-access sa pamamagitan ng mga pangalan ng hanay ng worksheet kung saan matatagpuan ang database.
Sa aming kaso, ang data na matatagpuan sa DB sheet at access sa ilang partikular na field ay nakasulat bilang pangalan ng mga column ng sheet. Kaya, ang mga kinakailangang field ay matatagpuan sa mga sumusunod na column:
Alinsunod dito, ang bahagi ng query na responsable para sa listahan ng output ng data bilang resulta ay magiging ganito:
Piliin ang A, B, G
Ang susunod sa kahilingan ay paninirang-puri saan. Kapag nagsusulat ng isang kahilingan, ang paninirang-puri ay dapat ilagay sa pagkakasunud-sunod kung saan sila ay inilarawan sa unang seksyon ng artikulong ito. Pagkatapos ng anunsyo saan kailangan nating ilista ang mga kundisyon ng filter. Sa kasong ito, sinasala namin ang data ayon sa pangalan ng kampanya (Kampanya) at petsa (Petsa). Gumagamit kami ng ilang kundisyon ng filter. Sa text ng query, sa pagitan ng lahat ng kundisyon ay dapat mayroong lohikal na operator O o AT. Ang pag-filter ng petsa ay medyo naiiba sa numeric at pag-filter ng teksto at nangangailangan ng paggamit ng operator ng Petsa. Ang bahagi ng query na responsable para sa pag-filter ng data ay magiging ganito:
SAAN (A >= petsa"2015-10-22" AT A<= date"2015-10-25") AND (B = "Campaign_1" OR B = "Campaign_2")
Gamit ang mga panaklong, hinati namin ang pag-filter ng data sa dalawang lohikal na bahagi: ang una ay nagsasala ayon sa petsa, ang pangalawa ay ayon sa pangalan ng kampanya. Sa yugtong ito, ang formula na naglalarawan sa data na pipiliin at ang mga kundisyon para sa pag-filter ng data ay ganito ang hitsura:
Query(DB!A1:L1143;" Piliin ang A, B, G SAAN (A >= petsa"2015-10-22" AT A<= date"2015-10-25") AND (B = "Campaign_1" OR B = "Campaign_2")")
Maaari mong kopyahin at i-paste ito, halimbawa, sa isang bagong sheet ng dokumento na ginamit bilang isang halimbawa sa post na ito, at makukuha mo ang sumusunod na resulta:
Bilang karagdagan sa karaniwang mga lohikal na operator (=,<, >) ang WHERE block ay sumusuporta sa mga karagdagang filtering operator:
Na-filter na ng query ang data para sa isang partikular na panahon at iniwan lamang ang mga campaign na kailangan namin. Ito ay nananatiling lamang upang ayusin ang resulta sa pababang pagkakasunud-sunod depende sa bilang ng mga session. Tradisyonal na isinasagawa ang pag-uuri sa mga query na ito para sa SQL gamit ang paninirang-puri Iniutos ni. Ang syntax ay medyo simple: kailangan mo lamang ilista ang mga patlang kung saan nais mong pag-uri-uriin ang resulta, pati na rin tukuyin ang pagkakasunud-sunod ng pag-uuri. Bilang default, ang order ay asc, iyon ay, pataas. Kung tinukoy mo ang parameter ng desc pagkatapos ng pangalan ng field, ibabalik ng query ang resulta sa pababang pagkakasunud-sunod na tinukoy sa paninirang-puri Iniutos ni mga patlang.
Sa aming kaso, ang linya sa teksto ng kahilingan ay magiging responsable para sa pag-filter:
Utos ni G desc
Alinsunod dito, ang huling resulta ng formula sa sheet ng Level_2, na lumulutas sa problemang kailangan natin, ay ganito ang hitsura:
Query(DB!A1:L1143;" SELECT A, B, G WHERE (A >= date"2015-10-22" AT A<= date"2015-10-25") AND (B = "Campaign_1" OR B = "Campaign_2") ORDER BY G DESC")
Magagamit mo na ngayon ang pinakasimpleng SQL syntax at ang QUERY function upang i-filter at ayusin ang data.
mapagkukunan mysql_query(string query [, resource link_identifier])mysql_query() nagpapadala ng query sa aktibong database ng server na itinuro ng ipinasang pointer. Kung ang link_identifier ay tinanggal, ang huling bukas na koneksyon ay ginagamit. Kung walang bukas na koneksyon, sinusubukan ng function na kumonekta sa DBMS, katulad ng function mysql_connect() walang mga parameter. Ang resulta ng query ay buffered.
Komento: HINDI dapat magtapos sa semicolon ang query string.
Para lamang sa mga query na PUMILI, IPAKITA, Ipaliwanag, Ilarawan, mysql_query() nagbabalik ng pointer sa resulta ng query, o MALI kung hindi nakumpleto ang kahilingan.
Sa ibang mga kaso (INSERT, UPDATE, DELETE, DROP, atbp.), mysql_query() nagbabalik TOTOO sa kaso ng isang matagumpay na kahilingan at MALI sa kaso ng pagkakamali. Hindi pantay ang halaga MALI ay nagpapahiwatig na ang kahilingan ay matagumpay na nakumpleto. Hindi nito binabanggit ang bilang ng mga apektado o ibinalik na row. Ito ay lubos na posible na ang isang matagumpay na kahilingan ay hindi makakaapekto sa alinman sa mga hilera.
Ang sumusunod na query ay hindi maayos na nabuo at mysql_query() babalik MALI :
mysql_query() ay itinuturing ding isang error at babalik MALI, kung wala kang sapat na mga karapatan upang gumana sa talahanayan na tinukoy sa kahilingan.
Kapag nagtatrabaho sa mga resulta ng query, maaari mong gamitin ang function mysql_num_rows() upang mahanap ang bilang ng mga row na ibinalik ng SELECT query, o mysql_affected_rows() upang mahanap ang bilang ng mga row na naproseso sa pamamagitan ng DELETE, INSERT, REPLACE, o UPDATE na mga query.
Para lamang sa SELECT, SHOW, DESCRIBE, EXPLAIN query, function mysql_query() nagbabalik ng pointer sa resulta na maaaring magamit sa isang function mysql_fetch_array() at iba pang mga function na gumagana sa mga resulta ng query. Kapag tapos ka na sa resulta, maaari mong ilabas ang mga mapagkukunang ginamit upang iimbak ito gamit ang function
Ang kasaysayan ng Konevskaya Icon ng Ina ng Diyos ay nagsimula nang malayo sa mga hangganan ng mundo...
Kung paanong walang Pasko ng Pagkabuhay na walang mga cake ng Pasko ng Pagkabuhay, hindi rin maaaring umiral ang mga cake ng Pasko ng Pagkabuhay kung wala ...
Maurice Druon Nang winasak ng hari ang Pransya Ang aming pinakamatagal na digmaan, ang Daang Taon, ...