(id_photo, h_num, h_value)
select * from photos where id_photo = ... and h_num = 1
или
select * from photos where h_num = 1 and h_value > 30
<operation name="Tracking">
<input message="tns:TrackingRequestMessage"/>
<output message="tns:TrackingResponseMessage"/>
</operation>
<message name="TrackingRequestMessage">
<part name="parameters" element="tns:Tracking"/>
</message>
<xs:element name="Tracking">
<xs:complexType>
<xs:sequence>
<xs:element name="Language" type="xs:string" nillable="true"/>
<xs:element name="Login" type="xs:string" nillable="true"/>
<xs:element name="Password" type="xs:string" nillable="true"/>
<xs:element name="Type" type="xs:string"/>
<xs:element name="Documents" type="xs:string" nillable="true"/>
</xs:sequence>
</xs:complexType>
</xs:element>
$result = $client->Tracking([
'Language' => ?string,
'Login' => ?string,
'Password' => ?string,
'Type' => string,
'Documents' => ?string
]);
var_dump($client->__getFunctions());
/* ...
[92] => string(47) "TrackingResponse Tracking(Tracking $parameters)"
... */
var_dump($client->__getTypes());
/* ...
[120] => string(103) "struct Tracking {
string Language;
string Login;
string Password;
string Type;
string Documents;
}"
[121] => string(51) "struct TrackingResponse {
ResultTracking return;
}"
[24] => string(81) "struct ResultTracking {
TrackingInfo Items;
boolean Error;
string ErrorInfo;
}"
[28] => string(227) "struct TrackingInfo {
boolean Error;
string Type;
string Number;
string Info;
string AgentURL;
dateTime CreateDate;
string State;
dateTime DeliveryDate;
string DeliveryInfo;
TrackingEvent History;
Waybill Waybills;
}"
[27] => string(83) "struct TrackingEvent {
dateTime EventDate;
string EventName;
string EventInfo;
}"
[31] => string(546) "struct Waybill {
string Type;
string Number;
dateTime CreateDate;
string State;
dateTime DeliveryDate;
string Sender;
string SenderGeography;
string Recipient;
string RecipientGeography;
string RecipientAddress;
dateTime SendDate;
string Payer;
int CargoQty;
float NetWeight;
float GrossWeight;
string ConsolidationNumber;
string InventoryWaybillNumber;
string DeliveryMethod;
float Volume;
boolean RequirePaymentInCash;
float PaymentInCash;
string PaymentInCashCurrency;
string RecipientOfficial;
TrackingEvent History;
}"
... */
select date_trunc('hour', e.created), avg(e.value) from table e group by 1 order by 1
[00:00-07:00)
[07:00-14:00)
[14:00-21:00)
[21:00-00:00) - следующий день
[00:00-07:00) - следующий день
[00:00-07:00)
[07:00-14:00)
[14:00-21:00)
[21:00-03:00) - следующий день
[03:00-10:00) - следующий день
...
select date_trunc('day', e.created) + (trunc(extract('hour' from e.created) / 7) * 7 || ' hour')::interval, avg(e.value) from table e group by 1 order by 1